图片和图形之位图(4)

概要

在Android应用中加载位图很棘手的原因有很多:

  • 位图可以非常轻松地消耗应用程序的内存预算。例如,Pixel手机上的相机最多可拍摄4048x3036像素(1200万像素)的照片。如果使用的位图配置是ARGB_8888Android 2.3(API级别9)及更高版本的默认设置,则将单张照片加载到内存中需要大约48MB的内存(4048 3036 4个字节)。如此大的内存需求可能会立即耗尽应用程序可用的所有内存。

  • 在UI线程中加载位图可能会降低应用程序的性能,导致响应速度缓慢甚至ANR消息。因此,在使用位图时适当地管理线程是非常重要的。

  • 如果您的应用正在将多个位图加载到内存中,则需要熟练地管理内存和磁盘缓存。否则,应用的用户界面的响应性和流畅性可能会受到影响。

对于大多数情况下,我们建议您使用Glide 库在您的应用中获取,解码和显示位图。Glide将处理与Android上的位图和其他图像相关的这些和其他任务的大部分复杂性抽象化。有关使用和下载Glide的信息,请访问GitHub上的 Glide存储库

您也可以选择直接使用内置于Android框架中的低级API。有关更多信息,请参阅 高效加载大型位图缓存位图管理位图内存

更多资源

WebP如何工作

减少JPG文件大小

PNG如何工作

减少PNG文件大小

适用于较小APK的VectorDrawable(Android Performance Patterns Season 6 Ep)

JPG如何工作

删除未使用的资源(Android Performance Patterns Season 4 ep8

更小的PNG和Android的AAPT工具

联系我

QQ:94297366
微信打赏:https://pan.baidu.com/s/1dSBXk3eFZu3mAMkw3xu9KQ

公众号推荐:

图片和图形之位图(4)

猜你喜欢

转载自blog.51cto.com/4789781/2120425