可能重复:
Android:将图像加载到位图对象时出现奇怪的内存不足问题
java.lang.OutOfMemoryError:位图大小超出 VM 预算 - Android
第一个活动
public class Main_AllLatestNews extends ListActivity
第二个活动(加载 10 个或更多图像)
@Override
protected void onDestroy() {
super.onDestroy();
unbindDrawables(findViewById(R.id.RootView));
System.gc();
}
private void unbindDrawables(View view) {
if (view.getBackground() != null) {
view.getBackground().setCallback(null);
}
if (view instanceof ViewGroup) {
for (int i = 0; i < ((ViewGroup) view).getChildCount(); i++) {
unbindDrawables(((ViewGroup) view).getChildAt(i));
}
((ViewGroup) view).removeAllViews();
}
}
我正在使用它来调用图像
if (!imagepath[i].toString().equals("no picture")) {
try {
aURL = new URL("http://www.orientaldaily.com.my/" + imagepath[i]);
URLConnection conn = aURL.openConnection();
conn.connect();
InputStream is = conn.getInputStream();
BufferedInputStream bis = new BufferedInputStream(is);
Bitmap bm = BitmapFactory.decodeStream(bis);
bis.close();
is.close();
imageview = (ImageView) findViewById(R.id.image_categoryallnewstitle);
imageview.setScaleType(ScaleType.CENTER_CROP);
imageview.setImageBitmap(bm);
} catch (IOException e) {
Log.e("DEBUGTAG", "Remote Image Exception", e);
}
}
我在调用这些图像之前实现了这个方法,但仍然有内存泄漏和
bitmap size exceeds VM budget
我的代码中有任何问题或有其他解决方案来解决这个问题吗?