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

  • 相关阅读:
    Battle ships(二分图,建图,好题)
    棋盘游戏(二分图,删边)
    Girls' research(manacher)
    jenkins配置发送测试结果邮件
    Win10电脑如何更改开机启动项
    Ubuntu 18.04 固定pycharm图标固定到启动栏
    ubuntu下Fiddler抓包
    一个数据去重sql
    JENKINS针对不同项目组对用户进行权限分配
    jenkins添加用户
  • 原文地址:https://www.cnblogs.com/lzl-sml/p/5186964.html
Copyright © 2011-2022 走看看