处理位图

尝试使用 Compose
Jetpack Compose 是推荐的 Android UI 工具包。了解如何在 Compose 中显示图形。

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

  • 位图很容易耗尽应用的内存预算。例如,Pixel 手机上的相机可拍摄高达 4048x3036 像素(1200 万像素)的照片。如果使用的位图配置是 ARGB_8888(Android 2.3(API 级别 9)及更高版本的默认值),则将一张照片加载到内存中大约需要 48MB 内存 (4048*3036*4 字节)。如此大的内存需求会立即耗尽应用可用的所有内存。
  • 在 UI 线程上加载位图可能会降低应用的性能,导致响应缓慢甚至出现 ANR 消息。因此,在处理位图时,妥善管理线程非常重要。
  • 如果您的应用将多个位图加载到内存中,则需要熟练地管理内存和磁盘缓存。否则,应用的 UI 响应速度和流畅性可能会受到影响。

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

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

更多资源