美文网首页
客户端瘦身及快速打包实践应用讲义

客户端瘦身及快速打包实践应用讲义

作者: 李奥瑞克王 | 来源:发表于2018-07-18 10:56 被阅读36次

《客户端瘦身及快速打包实践应用》

具体要点。

一.客户端瘦身。

1.如何分析和梳理apk瘦身方法。使用Android Studio自带apk分析工具进行APK包内容组成分析。

2.客户端瘦身具体分三个方向。

第一:图片资源瘦身。 

         1.讲解webp图片文件实践操作。

         2.讲解webp兼容性。

            4.2.1+ 对于webp的decode、encode是完全支持的(包含半透明的webp图)

            4.0+到4.2.1,只支持完全不透明的decode、encode的webp图

            4.0 以下,应该是默认不支持webp的(编码解码) 如需兼容支持则需要引入其他兼容方式进行兼容处理。

            参考博客:https://blog.csdn.net/lmj623565791/article/details/53240600

                           https://stackoverflow.com/questions/28188374/check-if-the-device-supports-webp-image-format

           3.在Android Studio 内使用自带移除无用资源文件功能,进行无用资源自动移除。

第二:第三方SO包

         1.梳理apk包内so包归属,将so包进行分类处理。诸如,文本标记一下so包所属的功能等。

         2.记录so包各自的大小。

         3.清理多余的so包文件。只保留 如下三个配置文件内的so包

ndk {

    abiFilters 'armeabi-v7a','arm64-v8a','x86'

}

参考:

• mips / mips64:极少用于手机可以忽略

• x86 / x86_64: x86架构的手机都会包含由Intel提供的称为Houdini的指令集动态转码工具,实现对arm .so的兼容,再考虑x86 1%以下的市场占有率,x86相关的两个.so也是可以忽略的

• armeabi: ARM v5 这是相当老旧的一个版本,缺少对浮点数计算的硬件支持,在需要大量计算时有性能瓶颈 

• armeabi-v7a: ARM v7目前主流版本

• arm64-v8a: 64位支持

第三:源代码过于臃肿。

          1. 分析代码组成结构。剔除没有用到的第三方库代码。

          2.对代码体积进行排序。挑选出非核心但体积过大的包。准备后期进行插件化。

          3.在项目混淆文件内部指定代码压缩级别为7。-optimizationpasses 7

二.热更新

     1.建议引入tinker热更新框架。

三.Android插件化

     1.讲解360插件化工程配置操作。

     2.插件工程宿主及插件工程如何配置讲解。

     3.插件工程以百度语音为例进行讲解说明。

     4.插件工程升级及后台部署方案讲解。

四.断点续传

     1.采用第三方断点续传包。

     2.第三方断点续传包采用https://github.com/lingochamp/FileDownloader  

     3.讲解FileDownloader 用法。

五.fastlane快速打包。

     1.Android、IOS fastlane 配置及打包方法。

     2.fastlane 本机配置部署。

     3.fastlane 实践操作(配置打包版本及签名参数配置)。

六.其他工具下载

     https://imageoptim.com/mac

     https://www.xnview.com/en/xnconvert/#downloads

相关文章

网友评论

      本文标题:客户端瘦身及快速打包实践应用讲义

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