Bitmap加载

1.密度概念
density 1 1.5 2 2.5
densityDpi 160 320 480
2.内存大小
占用内存大小计算
图片高度(像素)图片宽度图片格式以及存放目录和屏幕密度有关

(图片宽度屏幕密度/目录密度)(图片高度屏幕密度/目录密度)图片色彩格式大小

3.减少bitmap内存占用

(1)jpg或者png
(2)根据imageview的尺寸和图片尺寸设置
inSampleSize采样(选择采样率小的,这样保证采样后的图片不小于imageview)
(3)使用矩阵 大图小用用采样,小图大用用矩阵。

采样以后,图片占用内存变小,尺寸也变小了,这时候可以使用matrix

4.合理选择像素格式

5.不使用图片,自定义View或者代码实现

6.inBitmap参数
这个参数用来实现Bitmap内存的复用,但复用存在一些限制,具体体现在:在Android 4.4之前只能重用相同大小的Bitmap的内存,而Android 4.4及以后版本则只要后来的Bitmap比之前的小即可。使用inBitmap参数前,每创建一个Bitmap对象都会分配一块内存供其使用,而使用了inBitmap参数后,多个Bitmap可以复用一块内存,这样可以提高性能。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Bitmap加载和Cache BitmapOptions decodeFile decodeStream deco...
    jiaming_阅读 335评论 0 1
  • 如何避免OOM 一、减小对象的内存占用 1、使用更加轻量的数据结构 例如,我们可以考虑使用ArrayMap/Spa...
    吕侯爷阅读 746评论 0 5
  • 在Android开发中经常会遇到关于图片加载、缓存的问题,经常会遇到内存溢出OOM,Android对单个应用内存加...
    西鳳梨阅读 270评论 0 1
  • HereAndroid的内存优化是性能优化中很重要的一部分,而避免OOM又是内存优化中比较核心的一点。这是一篇关于...
    HarryXR阅读 3,849评论 1 24
  • 我在儿时喜爱吃泡饭,现在喜欢吃母亲做的杂粮粥,而最好的佐食便是腐乳,尤以不辣的白方为主。那股糟香实在是开胃下饭,绵...
    遇上音阶阅读 3,466评论 0 1