Imp*_*ver 7 memory android image
我有一个非常小的活动,必须显示一个图像.
如果图像不是很小(例如1.12 Mb 2560x1920),则在更改屏幕方向上会产生内存不足.我试过getDrawable.setCallback(null)但没有运气.
我哪里错了?
public class Fullscreen extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
System.gc();
setContentView(R.layout.fullscreen);
ImageView imageView = (ImageView) findViewById(R.id.full_screen_image);
long imageId = 2;
imageView.setImageURI(Uri.withAppendedPath(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "" + imageId));
}
}
Run Code Online (Sandbox Code Playgroud)
gin*_*ngo 11
尝试将此添加到您的onDestroy方法:
ImageView imageView = (ImageView) findViewById(R.id.full_screen_image);
BitmapDrawable bd = (BitmapDrawable)imageView.getDrawable();
bd.getBitmap().recycle();
imageView.setImageBitmap(null);
Run Code Online (Sandbox Code Playgroud)
它将回收ImageView中使用的位图.