在我的应用程序中,我将在我的drawable文件夹中包含750张PNG图像。我通过从计算机上截取屏幕截图来获取这些图像。
当我使用所有图片构建我的应用程序时,应用程序的文件大小为140MB。然后,当我删除所有图像并重建它时,它下降到2.75 MB。
有没有办法减少PNG图像占用的内存量?缩小屏幕截图的大小是一种有效的解决方案吗?
答案 0 :(得分:2)
我将在我的drawable文件夹中拥有750张PNG图像
最有可能的是,这不是你想要的。 res/drawable/
是res/drawable-mdpi/
的同义词。您的图像将被重新采样以匹配设备的密度,可能会占用更多的堆空间。通常情况下,屏幕截图会显示res/drawable-nodpi/
,表示不应根据密度对图像进行重新采样。
当我使用所有图像构建我的应用程序时,应用程序的内存为140MB。然后,当我删除所有图像并重建它时,它下降到2.75 MB。
我将解释这意味着APK的大小,而后者又控制与您的应用相关联的起始磁盘空间量。请理解Android没有“应用程序管理器”,即使您的特定设备可能有这样的应用程序。
有没有办法减少PNG图像占用的内存量?缩小屏幕截图的大小是一种有效的解决方案吗?
如果“尺寸”表示“分辨率”,那么这将减少PNG文件的文件大小,并应减小APK的文件大小。
正如现在删除的答案指出的那样,您还可以使用像pngquant
这样的工具来缩小PNG文件的文件大小,这些工具可以通过截屏工具可能没有的方式优化PNG。
而且,您可以通过减少屏幕截图的数量来缩小APK的大小。您的用户中有多少人真正要查看 750 屏幕截图?您可以考虑使用该应用程序打包其中的一部分,并根据需要从某个服务器下载其他部分。