zoukankan      html  css  js  c++  java
  • apk瘦身(包大小优化)

    最近太忙好久没有写随笔,放假才有空写写随笔。

    最近在项目中一直在做包大小优化

    随着业务需求的增加,包大小是忍不住的往上涨

    为了提高应用市场下载转化率,一直在优化包大小

    首先 分析你的apk中占比的主要成分,以及可以减少的部分

    一般主要有下面几部分构成你包的大小

    1. 资源(主要是图片资源,布局,assets等)

    2. so大小

    3. 三方库

    4. 二方库

    5. 业务功能

    主要从上面的几部分来进行优化

    1.通过压缩图片、重点出一套图片删除其他的图片、简单的图形通过shap代替png

    2. 大的背景图片在很少用到页面上使用时,将没有alpha通道的png压缩成jpg,甚至webp格式

    3. 通过include减少重复布局文件、资源混淆

    4. 编译so的时候通过指定arm和thumb2指令格式减少so大小

    5. 删除armeabi-v7a下面的so,甚至可以删除x86下面的so(x86 houdini支持兼容arm指令)

    6. 同样的功能用小的三方库代替大的三方库

    7. 删除三方库中多余的功能

    8. 打包时候过滤三方库中不用的资源

    9. 公司的二方库,一般要催促其他的团队优化SDK的大小

    10. 删除dex中的垃圾指令、通过混淆来减少dex的大小

    11. 用7zip压缩代替普通的zip压缩(注意压缩后会导致raw下面文件找不到,所以过滤文件格式为store的文件不进行压缩)

    12. 通过网络下载,动态加载jar,dex, apk的方式来减少包大小(插件化)

    如何查看zip包中的文件格式:

    unzip -lv WhatsApp-Messenger_v2.12.550pakage.apk | grep .so

    介绍一款分析包大小的网站:

    https://nimbledroid.com

  • 相关阅读:
    python json 和 pickle的补充 hashlib configparser logging
    go 流程语句 if goto for swich
    go array slice map make new操作
    go 基础
    块级元素 行内元素 空元素
    咽炎就医用药(慢性肥厚性咽炎)
    春季感冒是风寒还是风热(转的文章)
    秋季感冒 咳嗽 怎么选药
    解决IE浏览器“无法显示此网页”的问题
    常用的 css 样式 记录
  • 原文地址:https://www.cnblogs.com/lzl-sml/p/5186964.html
Copyright © 2011-2022 走看看