关于ImageView加载出现OOM问题

略感蛋疼,一直以为应该不是这个问题的,所以调试了一下午,后来测试了下如果在XML里面改变ImageView的src话会出现什么问题

结果如我预料,仍然是只能显示部分图片,因为之前有运行成功了,我也不清楚怎么回事的,所以一直以为是参数设置那里的问题,

弄的我纠结了这么久,下次再也不会出这么愚蠢的问题了、、、

所以解决办法就是换小一点的图片,因为内存问题,毕竟ImageView不适合用于图片很大很多的情况

附上源代码:

package com.example.question9;

import android.support.v4.app.Fragment;
import android.R.integer;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.Toast;
import android.os.Build;

public class MainActivity extends Activity {

	public static ImageView iv = null;

	Button bt_pre;
	Button bt_next;
	Button bt_first;
	Button bt_end;

	static int[] Image_id = new int[] { R.drawable.ta, R.drawable.tb,
			R.drawable.tc, R.drawable.td, R.drawable.te, R.drawable.tf,
			R.drawable.tg, };

	static int flag = 0;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		bt_first = (Button) findViewById(R.id.button1);
		bt_pre = (Button) findViewById(R.id.button2);
		bt_next = (Button) findViewById(R.id.button3);
		bt_end = (Button) findViewById(R.id.button4);

		iv = (ImageView) findViewById(R.id.imageView1);

		// View.OnClickListener change = new OnClickListener() {
		//
		// @Override
		// public void onClick(View arg0) {
		// // TODO Auto-generated method stub
		// if(arg0 == bt_first) {
		// iv.setImageResource(Image_id[0]);
		// flag = 0;
		// }
		// else if(arg0 == bt_pre) {
		// flag = (flag-1+Image_id.length)%Image_id.length;
		// iv.setImageResource(Image_id[1]);
		// }
		// else if(arg0 == bt_next) {
		// flag = (flag+1+Image_id.length)%Image_id.length;
		// iv.setImageResource(Image_id[2]);
		// Log.i("exp", "nihaoniaho"+flag);
		// }
		// else if(arg0 == bt_end) {
		// iv.setImageResource(Image_id[6]);
		// flag = 6;
		// }
		// }
		// };
		//
		// bt_first.setOnClickListener(change);
		// bt_pre.setOnClickListener(change);
		// bt_next.setOnClickListener(change);
		// bt_end.setOnClickListener(change);

		bt_first.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View arg0) {
				// TODO Auto-generated method stub
				iv.setImageResource(Image_id[0]);
				flag = 0;
				Toast.makeText(MainActivity.this, "第  "+(flag+1)+" 张图片", Toast.LENGTH_SHORT).show();
			}
		});

		bt_pre.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View arg0) {

				// TODO Auto-generated method stub
				flag = (flag-1+Image_id.length)%Image_id.length;
				iv.setImageResource(Image_id[flag]);
				Toast.makeText(MainActivity.this, "第  "+(flag+1)+" 张图片", Toast.LENGTH_SHORT).show();
			}
		});

		bt_next.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View arg0) {

				// TODO Auto-generated method stub
				flag = (flag+1+Image_id.length)%Image_id.length;
				iv.setImageResource(Image_id[flag]);
				Toast.makeText(MainActivity.this, "第  "+(flag+1)+" 张图片", Toast.LENGTH_SHORT).show();
			}
		});

		bt_end.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View arg0) {

				// TODO Auto-generated method stub
				iv.setImageResource(Image_id[6]);
				flag = 6;
				Toast.makeText(MainActivity.this, "第  "+(flag+1)+" 张图片", Toast.LENGTH_SHORT).show();
			}
		});

	}
}


posted @ 2015-07-08 21:40  __夜风  阅读(476)  评论(0编辑  收藏  举报