面试题-如何缩减APK包大小

作者: 小怪兽打葫芦娃 | 来源:发表于2017-07-05 14:16 被阅读570次

    Android程序员面试宝典

    回答提示:

    • 开启minifyEnabled

        开启混淆,删除没用的java文件
      
    • 开启shrinkResources

        去除无用资源
      
    • resConfigs "zh"

        删除无用的语言资源
      
    • 使用tinypng有损压缩

        TinyPNG 使用一种智能有损压缩技术(通过降低图片中的颜色数量,来减少存储图片所需要的数据)来降低 PNG 图片的大小
        TinyPNG 将 PNG 图片压缩成 8 位的 PNG(而不是24位),所以它的压缩比例非常高
        http://tinypng.com/
      
    • 对于非透明的大图,png转换为jpg格式

        格式工厂进行转换
      
    • 使用webp格式

        定义
            一种支持有损压缩和无损压缩的图片文件格式
        兼容和使用
            从Android 4.0+开始原生支持,但是不支持包含透明度,直到Android 4.2.1+才支持显示含透明度的webp
        特点
      
    • 根据 Google 的测试,无损压缩后的 WebP 比 PNG 文件少了 45% 的文件大小,即使这些 PNG 文件经过其他压缩工具压缩之后,WebP 还是可以减少 28% 的文件大小

        优势
            PNG 转 WebP 的压缩率要高于 PNG 原图压缩率,同样支持有损与无损压缩
            转换后的 WebP 体积大幅减少,图片质量也得到保障(同时肉眼几乎无法看出差异)
            转换后的 WebP 支持 Alpha 透明和 24-bit 颜色数,不存在 PNG8 色彩不够丰富和在浏览器中可能会出现毛边的问题
      
    • 使用shape文件替换图片

        <?xml version="1.0" encoding="utf-8"?>
    <shape
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="rectangle"
        >
        <corners android:radius="10dp"></corners>
        <solid android:color="#e6d5d5"></solid>
    </shape>
    
    • 切图使用一套图即可

        适配主流的分辨率1280x720
      
    • 欢迎关注微信公众号、长期为您推荐优秀博文、开源项目、视频

    • 微信公众号名称:Android干货程序员

    相关文章

      网友评论

      本文标题:面试题-如何缩减APK包大小

      本文链接:https://www.haomeiwen.com/subject/kzkqhxtx.html