gpt4 book ai didi

android - xml图像占用了太多内存 - android

转载 作者:搜寻专家 更新时间:2023-11-01 08:41:27 25 4
gpt4 key购买 nike

您好,我是 android 的新手,在使用 xml 定位和设计我的 Activity 布局时遇到了一些内存管理问题。大多数图片都在 100kb 左右,但大小不一,例如图片 1 为 512x512,图片 2 为 120x320 等。目前,这些图像正在降低我的应用程序的性能,有时甚至会崩溃。有没有办法减少图像在应用程序中占用的内存量?

最佳答案

为了理智地处理位图,应用程序必须经过许多步骤。

  • 压缩尺寸小。平衡磁盘(或在线)格式的质量与文件大小非常重要。能够通过有损预处理器运行 PNG 文件,或者在需要时选择使用 WEBP/JPG 对应用程序中的每个图像都至关重要。 Smaller PNG Files涵盖更多。然而,这里的问题是这对内存 大小没有帮助。请记住,当您的图像从磁盘加载时,它们会在内存中解压缩为每像素 32 位(换句话说,没有压缩)。

  • 压缩在内存中的格式。Android 提供替代的 565 格式,它每像素仅使用 16 位,而不是 8888 格式的 32 位。如果您使用不需要 alpha 的图像,您应该考虑 Smaller Pixel Formats 中讨论的过程利用加载位图作为 565。

  • 重新使用位图空间。大多数使用缩略图的应用程序一次只能在屏幕上显示 10-20 个缩略图(即使可能有数千个要加载)。 Re-using bitmaps 中描述了这里的技巧.基本上,一旦不再需要某个缩略图,您就可以重新使用它的空间来放置新的缩略图,而不是分配一个全新的缩略图。

  • 显示分辨率。加载一个 2MB 的图像是没有意义的,只将它显示为缩略图。相反,您应该将图像缩放到它在设备上显示的分辨率。我在 other SO post 中讨论了加载这些图像的最有效方式。 .

一般来说,像Picasso 这样的图书馆和 Glide做好提供使这一切变得更容易的 API 的工作;但他们仍在幕后经历这些相同的过程。

关于android - xml图像占用了太多内存 - android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32181454/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com