我有一个非常小的活动,必须显示一个图像.
如果图像不是很小(例如1.12 Mb 2560×1920),它会在更改屏幕方向上产生内存不足.我试过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)); } }
解决方法
消耗较少的内存和下采样/调整大小(参见BitmapOptions#inSampleSize的文档)图片.