APK瘦身

APK瘦身:

1. 减少 Assets 目录下的文件,有的html可以通过接口获取

2. 删除无用so文件,根据CPU引入so文件

3. 压缩图片,使用webp格式下的图片

4.混淆

5.压缩APK

6.打包剔除无用资源

7.动态下载图片

 

分目录放置图片:

不同分辨率的图片应该放到不同的目录下面,如果放错了图片,对于APP运行时内存大小有一定影响。

如果把一个本来应该放在 drawable-xxhdpi里面的图片放在了 drawable 文件夹中,会出现什么问题呢?

答案:在 xxhdpi 设备上,图片会被放大3倍,图片内存占用就会变为原来的9倍

 

同一张图片,适配高分辨率肯定比低分辨率的 size 要大

 

微信的表情都在hdpi中,仅有一套图片,这种放图策略几乎成为了业界标准。

微信已经实现了 SVG 化,SVG 图片在 Raw 中。

微信倾向于把较大的图片放在 xhdpi 中,UI设计师仅出一套图。

 

目前阿里和腾讯都是一套图走天下的方案

 

总结合理使用图片资源:

1. 聊天表情就出一套图,放在 hdpi 中(因为此类图片对于清晰度要求不高)。

2.纯色小 Icon 用 SVG 制作,用矢量图适配所有分辨率。

3.对于背景图等大图,出一套放在 xhdpi 或 xxhdpi 中。

4.Logo 等权重较大的图片可针对 hdpi、xhdpi、xxhdpi 做多套图

5.如果某些图在真机中确实会展现异常,就用多套图适配。

6.如果遇到特殊机型,可针对性的进行补图。

 

移除 lib 苦衷的配置文件:

// 不加载第三方依赖包的如下文件

packagingOptions {

exclude 'META-INF/DEPENDENCIES.txt'

exclude 'META-INF/DEPENDENCIES'

exclude 'META-INF/dependencies.txt'

exclude 'META-INF/LICENSE.txt'

exclude 'META-INF/LICENSE'

exclude 'META-INF/license.txt'

exclude 'META-INF/LGPL2.1'

exclude 'META-INF/NOTICE.txt'

exclude 'META-INF/NOTICE'

exclude 'META-INF/notice.txt'

exclude 'META-INF/MANIFEST.MF'

exclude 'META-INF/MANIFEST'

exclude 'META-INF/manifest.mf'

exclude 'project.properties'

exclude 'proguard-project.txt'

exclude 'bin/AndroidManifest.xml'

exclude 'libs/android-support-v4.jar'

exclude 'AndroidManifest.xml'

exclude 'META-INF/rxjava.properties'

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值