关于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(); } }); } }