-
要选择合适的图片规格。
ALPHA_8 每个像素占用1byte内存
ARGB_4444 每个像素占用2byte内存
ARGB_8888 每个像素占用4byte内存(默认)
RGB_565 每个像素占用2byte内存
-
降低采样率。
BitmapFactory.Options 参数inSampleSize的使用,先把options.inJustDecodeBounds设为true,只是去读取图片的大小,在拿到图片的大小之后和要显示的大小做比较。通过calculateInSampleSize()函数计算inSampleSize的具体值,得到值之后,options.inJustDecodeBounds设为false读图片资源。
-
复用内存。
即通过软引用,复用内存块,不需要再重新给这个bitmap申请一块新的内存,避免了一次内存的分配和回收,从而改善了运行效率。
-
使用recycle()方法及时回收内存。
-
压缩图片。