我需要多个图像大小吗(xxhdpi与xxxhdpi)



对于这样一个基本的问题,我提前道歉,但这是我的第一个应用程序,我找不到一个明确的答案来解决我的问题。我的应用程序中的所有图像都存储在可绘制文件夹中,我没有从互联网下载任何图像。当涉及到多个图像大小时,我遇到的所有信息似乎都是指应用程序从互联网上获取图像的情况。

因此,目前我的应用程序中的大多数图像都是一个尺寸,为最大尺寸定制-xxxhdpi。然而,我知道该应用程序正在做一些工作;"收缩";那些xxhdpi大小屏幕的图像。

我正在重新考虑这种一刀切的方法。我想,也许缩小图像的应用程序可能会占用额外的内存,并对性能产生负面影响。我一直在看安卓工作室档案器,当我看内存图时,我一直在努力理解图形过程。

更普遍地说,即使是xxxhdpi,拥有尽可能小的图像也有好处吗?例如,当我可以使用质量较低的jpg时,使用.png图像(内存方面或其他方面(会有伤害吗?同样,非常清楚的是,这只是在应用程序将所有图像都放在可绘制文件夹中的情况下。我的应用程序有一些选项,玩家可以在其中更改游戏背景和其他图像,所以我想确保我正在优化图像的使用方式,以获得最佳性能。谢谢

内存。如果在占用4*x*y字节的内存中加载x乘y像素的位图。对于全屏图像,您可以将其推测为4000*1000*4或16 MB。对于一个内存较少的小型设备来说,这是一块很好的内存。如果它需要一半分辨率的2000*500*4或4MB。

很明显,这会随着大小而变化。图像越小,浪费的内存就越少。我不认为你需要提供每种尺寸,但如果你使用的是大图像,我会提供不止一个。此外,对于任何不太复杂的东西(比如图标(,我会考虑矢量图像(尽管这是CPU时间与内存的权衡(。

你提到了png和jpg。有两件事需要考虑:apk大小和图像质量。JPG更小,因此它将导致更小的apk大小。PNG是无损的,因此它将具有更高的质量(尽管这是否重要需要人工视觉检查——在很多事情上,它比你想象的要重要得多(。有趣的是,它不会影响运行时使用的内存量,因为两者都保存在未压缩的位图对象中。

最新更新