高效的显示bitmap

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

学习应该使用怎样的通用技术处理和加载bitmap对象来保持UI响应灵敏避免超过应用内存限制。如果不小心使用,bitmap会很快消耗掉可用的内存导致应用内存溢出的crash

java.lang.OutofMemoryError: bitmap size exceeds VM budget.

有很多原因导致在Android应用中加载bitmap非常棘手:

  • 移动设备系统资源有限。Android设备一个应用只有16MB的可用内存。The Android Compatibility Definition Document (CDD) Section 3.7. Virtual Machine Compatibility 列出了不同屏幕大小和屏幕密度需要的最小内存。应用程序应该进行优化,以执行最小的内存限制。然而,要知道是很多设备配置了更高的限制
  • bitmap消耗很多的内存,尤其是图像信息丰富多彩的像照片。比如,Galaxy Nexus拍照的图片有2592x1936个像素(5万个像素)。如果bitmap是使用ARGB_8888配置的话(Android 2.3之前是默认的),那么加载这个图片会花费大约19MB的内存(2592x1936x4 bytes),会立即耗尽某些设备的app内存
  • Android应用的UI通常需要一次性加载几个bitmap。像ListView,GridView,ViewPage经常会一次性on-screen很多bitmap并且off-screen有许多等待手指滑动时显示

课程:

高效的加载bitmap
异步线程处理bitmap
缓存bitmap
管理bitmap内存
UI上显示bitmap
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值