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

  • 相关阅读:
    管理反思(阶段)
    应用软件系统程序员的三个立面
    再优秀那么一点点
    TCP相关时延
    go wiki整理1
    慢就是快
    给自己一点机会
    竞争
    go mem
    币圈再次过年
  • 原文地址:https://www.cnblogs.com/lzl-sml/p/5186964.html
Copyright © 2011-2022 走看看