0
点赞
收藏
分享

微信扫一扫

Android 安装包体积优化,kotlin中文社区

生活记录馆 2022-01-10 阅读 118

如果项目中有未被使用资源,则 Lint 会在窗口 Inspection Result 中显示,类似结果如下:

低效布局权重:提供优化方案。

上面就是未使用的资源:会使应用程序变大,并降低构建速度。

还有很多就不多介绍了,感兴趣的可以去玩玩。

启用压缩、混淆和优化功能

当你使用 Android Studio 3.4 或 Android Gradle 插件 3.4.0 及更高版本时,R8 是默认编译器,用于将项目的 Java 字节码转换为在 Android 平台上运行的 DEX 格式。不过,当您使用 Android Studio 创建新项目时,缩减、混淆处理和代码优化功能默认处于停用状态

debug{

// 启用代码收缩、模糊处理和优化

minifyEnabled true

// 资源缩减

shrinkResources true

//包括与打包在一起的默认ProGuard规则文件

//R8配置文件。

proguardFiles getDefaultProguardFile(

‘proguard-android-optimize.txt’),

‘proguard-rules.pro’

}

未启用

启用后

文件优化

====

图片优化

降低图片bit

不需要太精致的图片可以将图中32 bit降至16 bit或者8 bit。

使用 VectorDrawable 图片

UI小姐姐能提供最好不能提供,咱们自己自己造。

Android Studio 中点击 File > New > Vector Asset

Clip Art 项为固有的矢量图,我们直接用即可,而Local file(SVG,PSD)选项,则是我们需要转换的了,剩下的提示进行就可以啦。

使用 webp 格式图片

使用webp格式的图片可以在保持清晰度的情况下减小图片的磁盘大小,是一种比较优秀的,Google推荐的图片格式。

选中图片>右键>选择

图片由.png转为.webp

三方库优化


在 App 中会引入各种三方的库,但是在引入之前最好权衡一下是否需要将其代码全部引入,造成不必要的代码或者资源也被打包到 APK 中。

例如Facebook全家桶,你不可能全部用到仅导入部分即可,如登入和分享

dependencies {

// Facebook Core only (Analytics)

implementation ‘com.facebook.android:facebook-core:11.1.0’

// Facebook Login only

implementation ‘com.facebook.android:facebook-login:11.1.0’

// Facebook Share only

implementation ‘com.facebook.android:facebook-share:11.1.0’

// Facebook Messenger only

implementation ‘com.facebook.android:facebook-messenger:11.1.0’

// Facebook App Links only

implementation ‘com.facebook.android:facebook-applinks:11.1.0’

// Facebook Android SDK (everything)

implementation ‘com.facebook.android:facebook-android-sdk:11.1.0’

}

Links only

implementation ‘com.facebook.android:facebook-applinks:11.1.0’

// Facebook Android SDK (everything)

implementation ‘com.facebook.android:facebook-android-sdk:11.1.0’

}

举报

相关推荐

0 条评论