Android Developers:有效地显示位图

这个章节包含了一些加载和处理位图的常用技术,它们保持你的用户接口(UI)组件可保持响应和避免超出你的程序的内存限制。如果你不小心,位图会很快耗尽你的可用内存预算,由于这个令人畏惧的异常,导致应用程序崩溃:

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

为什么在你的应用程序中加载位图是非常复杂的,有许多原因:

  • 手机设备普遍具有有限的系统资源。Android设备可以为每个单独的程序分配至少16MB的可用内存。Android Compatibility Definition Document(CDD)文档,3.7.Virtual Machine Compatibility章节给出了各种屏幕大小和分辨率的应用程序最小内存要求。应用程序应该被优化以运行在最小内存限制中。然而,请记住许多设备配置了更高的限制。
  • 位图占据了许多资源,尤其是丰富的图片,如照片。例如,在Galaxy Nexus照相机拍照高达2592 * 1936像素(5百万像素)。如果位图设置使用ARGB_8888(Android 2.3之前默认)那么将这个图片加载到内存中将要消耗19MB内存(2592*1936*4byte2),在某些设备上立刻超过每个程序的内存限制。
  • Android应用程序的UI经常需要一次性加载几张位图。例如ListView,GridView和ViewPager控件,它们通常一次性在屏幕上显示多张位图和更多显示的可能不在屏幕中,手指轻轻滑动后准备显示的位图。

课程

有效的下载大的位图
这节课程将引导你如何不超过每个应用的内存限制来编码大的位图。
脱离UI线程处理位图
位图的处理(调整大小,从远程源下载等)不应该发生在主UI线程中。这个课程将引导你使用AsynTask在一后台线程处理位图,并介绍如何处理并发性问题。
缓存位图
这节课程将引导你,在加载多个位图的时候,使用内存和磁盘位图缓存去提高你的UI的响应性和流动性。
在你的UI中显示位图
这节课程将所以的知识融合在一起,向你展示如果利用后台线程和位图缓存,向如ViewPager和GridView控件中加载多个位图。


文档位置:Developers/Training/Advanced Tr

新技术,新未来!欢迎大家关注“1024工场”微信服务号,时刻关注我们的最新的技术讯息!(甭客气!尽情的扫描或者长按!)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值