Bitmap使用时候注意什么

53 阅读1分钟
  1. 要选择合适的图片规格。

    ALPHA_8 每个像素占用1byte内存

    ARGB_4444 每个像素占用2byte内存

    ARGB_8888 每个像素占用4byte内存(默认)

    RGB_565 每个像素占用2byte内存

  2. 降低采样率。

    BitmapFactory.Options 参数inSampleSize的使用,先把options.inJustDecodeBounds设为true,只是去读取图片的大小,在拿到图片的大小之后和要显示的大小做比较。通过calculateInSampleSize()函数计算inSampleSize的具体值,得到值之后,options.inJustDecodeBounds设为false读图片资源。

  3. 复用内存。

    即通过软引用,复用内存块,不需要再重新给这个bitmap申请一块新的内存,避免了一次内存的分配和回收,从而改善了运行效率。

  4. 使用recycle()方法及时回收内存。

  5. 压缩图片。