0

可能重复:
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

我的代码中有任何问题或有其他解决方案来解决这个问题吗?

4

0 回答 0