【问题标题】:Reduce apk size减小 apk 大小
【发布时间】:2016-05-24 04:31:40
【问题描述】:

我正在开发一个 android 应用程序,其中有数百个高质量图像(512x512px 到 1000x1000 px 及以上),因此 apk 大小变得太大(超过 400mb)。那么,有没有办法压缩我的 .png 图像或任何其他方式来减小应用程序的大小。我还阅读了有关 proguard 的信息,但它会删除我的图像吗? 提前致谢!

【问题讨论】:

  • 这些纹理是否适用于 OpenGL ES?您可以使用纹理压缩来减小它们的大小并提高应用程序的性能。除此之外,JPEG 可以以牺牲视觉质量为代价为您提供更好的压缩结果。不过那是很多图片。如果您要在 Google Play 上发布,您可以将它们打包成一个 APK 扩展文件:developer.android.com/google/play/expansion-files.html

标签: android


【解决方案1】:

一个 400 MB 的 APK 真的很大,所以你需要压缩图片,使用这些链接压缩 http://www.tinypng.com http://www.compresspng.com http://www.punypng.com 你也可以选择从服务器加载图片并存储在应用程序的 sdcard 中发射。因此,您的应用程序不需要在自身内部存储图像。我建议您从服务器存储和加载图像。

【讨论】:

    【解决方案2】:

    您可以尝试使用pngcrush 之类的东西来减小它们的文件大小,或者您可以尝试将它们远程存储在服务器上并按需将它们下拉到设备并缓存它们(您可能不这样做) t同时需要所有图像)

    【讨论】:

      【解决方案3】:

      如何减小 apk 大小-

      1. 图像压缩

        • 预处理图像-使用外部工具手动优化 res 文件夹中的图像,并将 cruncherEnabled 设置为 false 以保持优化。
        • 使用 zopflipng 预处理 .PNG。
        • 在android 4.0以上版本可以使用WEBP图片。
        • 对于图标矢量 drawables 是更好的选择。
      2. 代码压缩

        -使用proguard压缩原始apk文件中的字节码。ClassyShark是apk资源管理器工具,允许查看dex文件

        • 使用 resConfigs 删除资源。
        • 在 build.gradle 文件中将 shrinkResource 设置为 true 以删除 proguard 留下的不必要资源。
        • ArscBlamer 是一种压缩字符串的工具。(适用于多个安卓版本的多个字符串文件夹的应用)

      有关 apk 大小的更多信息,请访问link

      【讨论】:

      • @armatita 感谢我做出更改的建议
      • 如果你想一次压缩超过 20 张图片,你可以试试这个在线压缩器,它可以让你一次压缩 50 个文件2enjoy.com/compress-png
      【解决方案4】:

      如前面的答案中所述,有一些方法可以压缩图像,但这些方法不会让你走得太远。您需要更改您的应用程序以动态下载图像。为了节省用户设备上的空间,您可能应该让用户选择他们想要下载的图像或图像组,而不是下载所有图像。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-09-25
        • 1970-01-01
        • 1970-01-01
        • 2015-05-22
        • 2014-03-05
        • 2021-09-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多