制作可以处理大位图的表达式

时间:2012-05-13 11:00:38

标签: android bitmap

与许多其他人一样,我有一个令人讨厌的虚拟机预算问题。我从sdcard获取文件并对其进行解码并使用以下方法对其进行编译:

 BitmapFactory.Options options = new BitmapFactory.Options();
    options.inSampleSize = 1;

问题是我每次调用onCreate方法时都会得到位图。因此,在打开电话或开始活动几次后,它会崩溃。我可以找到避免这种情况的唯一方法是:yourBitmap.recycle(),但是你无法捕获回收的Bitmap。

我需要一个表达式,即使在VM预算正常崩溃之后仍然能够显示位图。我将位图显示为drawable,因此经典的unbindDrawables solotion不起作用。我需要一个表达式,eighter将Bitmap简化为几乎没有,或者回收并显示相同大小的新Bitmap。

1 个答案:

答案 0 :(得分:0)

尝试阅读:

http://developer.android.com/training/displaying-bitmaps/index.html

并且看着这个:

http://www.google.com/events/io/2011/sessions/memory-management-for-android-apps.html

另外,关于drawables,看到在不需要它们之后你没有任何引用它们。 drawables可能导致内存泄漏。