Booster 是一款专门为移动应用设计的易用、轻量级且可扩展的质量优化框架,其目标主要是为了解决随着 APP 复杂度的提升而带来的性能、稳定性、包体积等一系列质量问题。
Booster 提供了性能检测、多线程优化、资源索引内联、资源去冗余、资源压缩、系统 Bug 修复等一系列功能模块,可以使得稳定性能够提升 15% ~ 25%,包体积可以减小 1MB ~ 10MB。
使用 Booster 可以发现潜在的性能问题,例如,在应用中调用可能阻塞 UI 线程或者主线程的 API,如:I/O API 等。详情请参见: booster-transform-lint。
对于开发者来说,线程管理一直是个头疼的问题,特别是第三方 SDK 中的线程,过多的线程可能会导致内存不足,然而幸运的是,这些问题都能通过 Booster 来解决。
例如全局性地修复 Android API 25 版本中 Toast 导致的崩溃。详情请参见:booster-transform- toast、booster-transform-shared- preferences.
Toast
如:资源压缩及冗余资源删除、资源索引内联及常量删除。
在 buildscript 的 classpath 中引入 Booster 插件,然后启用该插件:
buildscript
buildscript { ext.booster_version = '0.14.0' repositories { google() mavenCentral() jcenter() } dependencies { classpath "com.didiglobal.booster:booster-gradle-plugin:$booster_version" classpath "com.didiglobal.booster:booster-task-all:$booster_version" classpath "com.didiglobal.booster:booster-transform-all:$booster_version" } } apply plugin: 'com.android.application' apply plugin: 'com.didiglobal.booster'
然后通过执行 assemble task 来构建一个优化过的应用包,构建完成后,在 build/reports/ 目录下会生成相应的报告。
assemble
build/reports/
$ ./gradlew assembleRelease