像许多其他人一样,我有恼人的 VM 预算问题。我正在从 sdcard 中获取文件,并使用以下方法对其进行解码并对其进行压缩:
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 1;
问题是我每次调用 onCreate 方法时都会得到位图。因此,在打开手机或启动活动几次后,它会崩溃。我能找到避免这种情况的唯一方法是:yourBitmap.recycle()
,但您无法捕获回收的位图。
我需要一个表达式,即使它通常会在 VM 预算上崩溃,它仍然能够显示位图。我将位图显示为可绘制对象,因此经典的 unbindDrawables 独奏不起作用。我需要一个表达式,将 Bitmap 压缩到几乎没有,或者回收并显示一个相同大小的新 Bitmap。