一、移除无用资源
android {
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
二、 支持特定的分辨率
Android支持非常大的设备集,包括各种屏幕密度。 在Android 4.4(API级别19)及更高版本中,框架支持各种分辨率:ldpi,mdpi,tvdpi,hdpi,xhdpi,xxhdpi和xxxhdpi。 虽然Android支持所有这些分辨率,但你不需要导出光栅化资源到每种分辨率
三、减少动画帧数
帧动画 中使用到的切图,一般都 PNG的图片格式 ,图片大小相对都 比较大,尽量的减小动画帧数
四、从代码中渲染
UI设计中会经常设计到一些纯色的按钮、纯色的背景图时,或者一些控件的阴影效果,一般使用代码来渲染这些效果
五、减少Native和Java代码
像使用Butterkinfe 来自动生成代码或者其他自动 生成代码的组件,尽量避免使用,还有是一些工具类的方法 写到模块化的代码中
六、使用矢量图形或者使用有损压缩JPEG格式
使用这些图形可以大大减少APK体积。 矢量图像在Android中表示为VectorDrawable对象。 使用VectorDrawable对象,100字节的文件可以生成屏幕大小的清晰图像。显示小图像时才考虑使用这些矢量图形。
七、SO库尽量适配某几个CPU架构的平台
so包考虑常用 机型的cpu架构,armeabi-v7a,armeabi
八、使用Progruard进行代码混淆
Proguard是Android很早就使用的代码混淆工具,除了用于混淆代码提高安全性以外,在代码编译的时候也会通过遍历代码的方式来发现没有被调用的代码,从而将其在打包成apk时剔除,最终一定程度上降低了apk的大小
九、通过接口动态化的加载一些网格类型的UI显示
比方说app首页是加载风格类型的UI,这里的图片就要动态的比后台 取数据,第一是减少APP体积,第二也方便做运营
10、注册协议、关于我们、分享APP页面建议使用H5
尽量的使用一些H5去显示一些改动性比较大的页面
网友评论