我在scrollview中添加了多个imageView。如果图像很多,那么我会出现OutOfMemeory错误。所以我的问题是当它离开屏幕时如何从内存中卸载ImageView图像..
任何想法?
答案 0 :(得分:0)
更简单的方法是让位图本身按需加载和卸载。我说“更容易”,因为Android内置了对此的支持。
Resources r = getResources();
BitmapFactory.Options options = new BitmapFactory.Options();
options.inPurgeable = true;
options.inInputShareable = true;
imageView1.setImageBitmap(BitmapFactory.decodeResource(r, R.drawable.image1, options);
imageView2.setImageBitmap(BitmapFactory.decodeResource(r, R.drawable.image2, options);
这里的神奇之处在于inPurgeable
和inInputShareable
选项。使用这些选项时,Android会在特殊堆上分配位图,在内存压力下可以快速丢弃该位图,Android会在需要再次显示时自动重新解码清除的位图。
答案 1 :(得分:0)
我想你可以试试google i / o 2013中引入的凌空库。