可能重复:
Android:将图像加载到位图对象时出现奇怪的内存不足问题
OutOfMemoryError:位图大小超出 VM 预算:- Android
我知道有很多关于这一切的话题,但无论我尝试什么似乎都不起作用。
我尝试了几种 onDestroy 技巧,包括回收位图、将其设置为 null 等。不确定我的代码是否与其他情况有任何不同?看起来是这样的......我正在使用 TouchImageView 扩展,所以我可以使用捏缩放,所以也许这使它更复杂?
无论如何,这是我的代码。谁能指出我该如何解决这个问题(顺便说一句,无需缩小位图)?
public class PageActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.page);
Intent parent = getIntent();
int pagenumber = parent.getIntExtra("pagenumber", 1);
int resID = getResources().getIdentifier("page"+pagenumber , "drawable", getPackageName());
TouchImageView img = new TouchImageView(this);
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), resID);
img.setImageBitmap(bitmap);
img.setMaxZoom(4f);
LinearLayout rootview = (LinearLayout) findViewById(R.id.RootView);
rootview.addView(img);
}
}