APP瘦身

作者: 马铃薯之歌 | 来源:发表于2019-06-02 17:48 被阅读0次

1.apk变大的原因

(1)主流dpi分类越来越多,从基础的ldpi、mdpi和hdpi到后来的1x、2x、3x等dpi;
(2)第三方sdk、函数库的引入;
(3)视觉要求提高,图片细节丰富,体积变大。

2.apk结构

apk包文件主要分为Java代码文件、Native代码文件和资源文件三类。
(1)Java代码文件:打包后主要存储在classes.dex文件中(方法数目没有超过65K的情况下,如果超过可以有多个classes.dex文件);
(2)Native代码文件:主要是lib下的.so文件库;
(3)资源文件:assets目录、res目录和resources目录。

3.瘦身方法

(1)优化图片

a.首选WebP格式(Android4.0开始支持),也可通过第三方函数库如webp-android-backport将其它格式的图片转换为WebP格式。微信、微博、淘宝都在使用这种格式;
b.无损压缩,使用ImageOptim压缩工具;
c.有损压缩,如ImageAlpha、TinyPNG工具进行有损压缩,但压缩过的图片要经过设计师的检验才能上线,否则会影响视觉效果;
d.尽量使用.9.png图片,优点,体积小、拉伸不变形,能够很好地适配各种机型,Androidstudio中提供了编辑工具和转换功能。

(2)使用Android Lint删除无用资源

通过Android Lint工具分析res目录下的资源文件,结果会在Unused resources文件夹中显示哪些图片是多余的,删除即可;
注:Java反射使用的图片也会被检测出来,所以删除这些图片的时候还要人工检查一下

(3)利用Android Gradle配置

a.minifyEnable=true;//开启Proguard混淆;
b.shrinkResources =true;//省略无效文件,和Lint功能相似,所以谨慎使用;
c.除去第三方sdk中不使用的dpi包、国际化文件资源和不同平台的.sou库,如只保留armeabi-v7a和x86平台;

(4)优化、重构代码

减少重复代码的书写,服用公共代码,提供基础的工具类,如网络、数据库、加解密、utils工具包等;

(5)插件化

不过首先你要实现一个插件化框架,用来在线的下载并加载各个插件。如果插件化知识掌握的不够清晰的话,不要在面试的时候说这一条,不要自己挖坑,哈哈。

相关文章

  • App瘦身、性能优化总结

    App瘦身、性能优化总结 App瘦身、性能优化总结

  • APP瘦身

    随着开发的进行 App的体积不断的增大。如何瘦身 也是一个问题。 图片文件的处理。 图片文件 往往占据了开发包一个...

  • App瘦身

    App瘦身就是在不减少App功能的前提下,通过一些技巧来减少APK包的体积, 从而提升用户的下载体验,App瘦身的...

  • App瘦身

    写文章注册登录 × 使用Swift3开发了个MacOS的程序可以检测出objc项目中无用方法,然后一键全部清理 星...

  • APP瘦身

    优化图片资源 Android支持的图片格式主要有: PNG, JPEG , GIF , BMP 和 WebP(An...

  • App 瘦身

    App因功能需求集成了很多第三方库,因为涉及到文件查阅,不可避免的引入了很多jar包,导致现在App编译的rele...

  • app瘦身

    引用bang神的一张图,总结的非常全面 也可以按照下面的顺序,从上到下,进行app瘦身的优化: 1.去除重复、无用...

  • App 瘦身

    公司的项目由于开发的比较早,开发的人也多,由于前人没有进行整理,随着需求的更新和业务的删减,导致项目中无用的东西很...

  • APP瘦身

    众所周知,安装包主要是由可执行文件和资源组成。那么,针对我们的IPA瘦身就可以通过这两个点入手。 资源 1.针对资...

  • APP瘦身

    1.apk变大的原因 (1)主流dpi分类越来越多,从基础的ldpi、mdpi和hdpi到后来的1x、2x、3x等...

网友评论

      本文标题:APP瘦身

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