android应用安装包大小优化

           最近在做android应用性能优化,查阅了网上很多资料,为了加深理解以及便于后面查阅,因此在博客中记录下来。

        应用性能优化将会有一系列文章,本篇主要说下android应用安装包大小的优化。

        首先来了解下android应用安装包的构成。通过android sdk工具,将android应用工程中的所有数据以及资源文件打

包成apk文件(编译打包流程可看http://blog.csdn.net/chen381051010/article/details/55657036)。.apk文件是一种压缩文件,解压缩后目录结构如下:

           

  目录中文件有些是某个应用才有的,有些是android应用共有的,下面主要讲下所有应用共有的文件:

1、assets

     该目录根据应用需要可以存放任何文件夹架构的文件,如资源文件,配置文件等等。在应用中可以通过

AssetManager类来获得该目录下的文件。经常会有人问到该目录与res/raw的区别,关于两者区别网上有很多相关文

章,在此不做说明。

2、lib目录

     该目录主要存放应用所依赖的native库文件,根据cpu类型,该目录下可以包含4个子目录,分别是armeabi、armeabi-v7a、x86以及mips,但不是必须包含4个子目录。

3、res

     相信大家对该目录肯定都很熟悉了,在此也就不做过多说明了。

4、META-INF

    该目录用于保存应用的签名信息。

5、AndroidManifest.xml

     应用程序的配置文件。

6、classes.dex以及classes2.dex

      java可执行程序,如果一个应用程序方法总数超过65K,则会进行分包出现classes2.dex,classes3.dex...等文件。

7、resources.arsc

     该文件用于记录资源文件与资源ID之间的映射关系。


    在上述这些文件中classes.dex、res以及lib是比较大的,因此优化主要从这三个文件入手:

1、代码混淆

     通过proGuard进行代码混淆:移除无效的类、属性、方法;移除没用的结构;把类名、属性名、方法名替换成一

到两个字母。

     具体如何进行代码混淆可以参照网上教程或者android官方文档。

2、资源优化

   (1)通过lint检查,删除无用冗余资源,具体操作自己百度;

   (2)资源文件最少化,尽量使用一套切图片资源(若遇到不同手机分辨率差不较大的情况下可以针对某些图片切多

套图片资源);采用轻量级的第三方库,移除没用的第三方库;

   (3)图片优化,针对图片做压缩处理,如Zopfli、PNGoo等压缩工具;采用更合适的图片格式,如在闪屏介绍页采用jpg格式的图片;

3、lib优化

    移除无用的库文件;根据不同需求,有些lib目录下的子目录可以去除。


4、其他优化

   插件化编程,相关知识可自行百度~。


    应用包的大小对应用本身的使用并无影响,然而为了提高用户的下载意愿,在项目上线部署时也是一个需要考虑的

优化方面。本章简要的介绍了下android应用安装包大小优化,欢迎各位看官批评指正。

         

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值