【问题标题】:Smaller APK size with large assets?较小的 APK 大小和较大的资产?
【发布时间】:2010-10-05 06:02:54
【问题描述】:

我正在创建一个简单的安卓应用来查看漫画书。这些页面很大(每个 0.5-1 mb)、高质量的 .png,我将它们加载到 web 视图中以利用内置的缩放控件。到目前为止,我只有 17 个文件,APK 大小已经是 16 mb 左右。我希望在未来的更新中添加 200 多个文件。我不能真正降低质量太多,因为有小文本必须放大才能阅读。有什么建议么?在这里发布了一个类似的问题:How to reduce App (.apk) Size,但我不想失去图像的质量。我不确定是否适合链接到此处,但如果有帮助,您可以通过在 android 市场上搜索 Tracer(由 Detour Mobile 提供)来查看我的应用程序。提前致谢。

【问题讨论】:

    标签: android png android-webview filesize android-assets


    【解决方案1】:

    您可以在不使用有损压缩的情况下压缩它们——例如压缩/压缩它们,但我不相信这会给你带来比这里和那里更多的几千字节。否则,请尝试使用比 PNG 更紧凑的格式,例如 JPEG(您不会损失太多质量。)顺便说一句,所有这些都在引用的帖子中提出。

    如果您决定在一定程度上缩小图像尺寸,请务必使用 bicubic sharper 之类的方法 - 在缩小图像尺寸时,它往往看起来比其他方法更好。

    另一种选择是通过预取下载正在阅读的漫画的图像,这样阅读就不会被中断太多。

    【讨论】:

    • 谢谢,我想我会先尝试使用 JPEG。我只是害怕失去太多质量并且小文本无法阅读。非常有帮助的答案:)
    • 如果漫画是黑白的,你可以尝试将它们转换成GIF。如果颜色数量较少(例如 255 或更少),GIF 是一个不错的图像格式,因为 GIF 只会尝试减小调色板大小并且仅索引实际使用的颜色。因此,如果颜色数为 255 或更少,您可以将 1 个像素放入 1 个字节,而对于 BMP,您通常每个像素需要 4 个字节。我认为这可以大大减少黑白漫画页面
    【解决方案2】:

    考虑将您的图像放在 Assets 文件夹中,而不是 Res。最大的不同是,Assets 内容不会被编译到 R.java 类中,因此您会看到大量的存储节省。您必须修改您的代码,因为您将无法通过常规 r.resID 表示法调用图像,但这是可行的

    【讨论】:

      【解决方案3】:

      android 提供了一种处理它的新方法。 android app bundle apk 大小最大为 150mb 但是您可以使用资产包将 apk 与静态文件分开 并上传您的应用

      这里是关于资产包的更详细的解释: https://developer.android.com/guide/playcore/asset-delivery

      以下是将资产包与常规 Android 应用程序集成的指南: https://developer.android.com/guide/playcore/asset-delivery/integrate-java

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-03-15
        • 2021-08-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多