我对在imageview中使用循环位图有疑问。
我使用此代码在imageview中回收图片。
drawable = imglist1.getDrawable();
if (drawable instanceof BitmapDrawable) {
BitmapDrawable bitmapDrawable = (BitmapDrawable) drawable;
Bitmap bitmap = bitmapDrawable.getBitmap();
bitmap.recycle();
}
我在onDestroy方法中调用它
@Override
protected void onDestroy() {
super.onDestroy();
...
}
我在图像视图中有图像(位图) 打开新活动时(调用onDestroy())
打开新活动后无法看到更改在android监视器内存中。
android monitor
如何控制回收是否有效,或者如何减少记忆?
记忆它是图像视图中大部分的位图。
感谢您的想法
答案 0 :(得分:0)
将位图标记为可循环使用后,只有在GC执行时才会释放它。 您有更多信息:Android: Bitmap recycle() how does it work?
但你的问题还不清楚。如果你在onDestroy中回收位图,那就没有意义了,因为在onDestroy中所有视图都将被释放,并且位图的引用也是如此,所以它将在下次执行时被GCed。
对您而言,最好的选择可能是对您的图片进行重新取样。我发布的链接有更多信息。