我有一个应用程序,使用了很多.png文件,为了减小应用程序的大小,我使用了PngOptimizer来优化它们。我对结果很满意,png文件的文件大小从略大于1MB降至300KB左右。但出于某种原因,应用程序的大小只减少了约100KB。是否有人知道原因?我希望看到PNG文件中所看到的文件大小减小也能体现在应用程序的大小上。请帮忙解决。
我有一个应用程序,使用了很多.png文件,为了减小应用程序的大小,我使用了PngOptimizer来优化它们。我对结果很满意,png文件的文件大小从略大于1MB降至300KB左右。但出于某种原因,应用程序的大小只减少了约100KB。是否有人知道原因?我希望看到PNG文件中所看到的文件大小减小也能体现在应用程序的大小上。请帮忙解决。
您的 .APK 应用程序文件已经使用 deflate 算法进行了压缩。这是 PNG 文件使用的相同算法。
因此,您使用 PngOptimizer 进行的优化在某种程度上已经被 .APK 打包程序完成。
如果您想减小应用程序的大小,您应该降低 PNG 文件的色彩深度(这对减小文件大小有很大帮助),或者在可能的情况下切换到 .JPG 文件。根据图像内容,这些文件可能会更小。
在res/drawable中的PNG文件会自动使用调色板进行压缩,如果可能的话。
来自http://developer.android.com/guide/topics/graphics/2d-graphics.html#drawables:
注意:放置在res/drawable/中的图像资源可能会在构建过程中由aapt工具自动进行无损图像压缩优化。例如,不需要超过256种颜色的真彩色PNG可以转换为带有调色板的8位PNG。这将得到一张质量相同但需要更少内存的图像。