高效率地显示位图(总课程绪论)Display Bitmaps Efficiently——翻译自developer.android.com Training


这节课学习如何使用典型的办法来运行和加载Bimap对象,使得我们的UI组件保持相应并且不会内存溢出。如果你不小心,位图会很快就消耗掉app预算的内存,导致可怕的异常:java.lang.OutofMemoryError:bitmap size exceeds VM budget.

为什么在android应用中加载图片需要一些技巧,下面列举了一些原因:

- 移动设备通常的可以资源都十分有限。android设备给每一个应用的内存可能只有16MB大小。android Compatibility Definition Document(CDD),章节3.7虚拟机兼容性中给出了不同种屏幕大小和分辨率每个应用需要的最小内存。应用应该在这个内存的限制下进行优化。但是,要记住很多的设备都会要求一个更高的限制。

- 位图是十分占用内存的,特别是对于照片这种丰富的图像。例如,GalaxyNexus的相机会拍摄出2596*1936个像素(五百万像素)的图像。如果位图的格式使用ARGB_8888(自动android 2.3以后的默认的格式),加载这样的图片到内存中需要大概19MB的内存(2592*1936*4个byte),立即就超出了每一个app的内存的限制。

-android appUI对于位图立即加载的频繁请求。

例如ListView ,GridView,和ViewPager通常一次都会包含多个显示位图的组件,以及已经准备好,随着手势一划动马上就会加载出来的图片。





















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值