Apk 的下载会耗费网络流量,安装了还会占用存储空间。其体积的大小会对 App 安装和留存产生影响,分析和优化其体积显得尤为必要。
借助 AS 的 APK Analyzer 可以帮助完成如下几项工作:
- 快速分析 Apk 构成,包括 DEX、Resources 和 Manifest 的 Size 和占比,助力我们优化代码或资源的方向
- Diff Apk 以了解版本的前后差异,精准定位体积变大的源头
- 分析其他 Apk,包括查看大致的资源和分析代码逻辑,进而拆解、Bug 定位
篇幅原因只介绍了少部分特性,其他的还有很多,需要各位自行探索:
- 性能提升、内嵌到 AS 界面内的的 Fast Emulator
- 实时预览和编辑 Compose 布局,并支持直接交互的 Compose Preview
- 针对 Jetpack WorkManager 的 Background Task Inspector
- 。。。
相比之下,Google 官方的这篇「Android Studio 新特性详解」介绍得更新、更全,大家可以一看。
三、Android App Bundle
android app bundle 是一种发布格式,其中包含您应用的所有经过编译的代码和资源,它会将 APK 生成及签名交由 Google Play 来完成。
这个新格式对面向海外市场的 3rd Party App 影响较大,对面向国内市场的 App 影响不大。但作为未来的构建格式,了解和适配是迟早的事。
- 其针对目标设备优化 Apk 的构建,比如只预设对应架构的 so文件、图片和语言资源。得以压缩体积,进而提升安装成功率并减少卸载量
- 支持便捷创建 Instant App,可以免安装、直接启动、体验试用
- 满足模块化应用开发,提升大型项目的编译速度和开发效率
Google 对 .aab 格式非常重视,也极力推广:从去年也就是 2021 年 8 月起,规定新的 App 必须采用该格式才能在 Google Play 上架。
fun 神的「AAB 扶正!APK 将退出历史舞台」文章针对 AAB 技术有完整的说明,可以进一步了解。
四、Kotlin
A modern programming language that makes developers happier.
Kotlin是 大名鼎鼎的 JetBrains 公司于 2011 年开发的面向 JVM的新语言,对于 Android 开发者来说,选择 Kotlin 开发 App 有如下理由:
- Google IO 2019 宣布 Kotlin 成为了官方认定的 Android 平台首选编程语言,这意味着会得到 Google 巨佬在 Android 端的鼎力支持以实现超越 Java 的优秀编程体验
- 通过 KMM(Kotlin Multiplatform Mobile)实现跨移动端的支持
- Server-side,天然支持后端开发
- 通过 Kotlin/JS 编译成 JavaScript,支持前端开发
- 和 Java 几乎同等的编译速度,增量编译下性能甚至超越 Java

- Kotlin 代码简洁、可读性高:缩减了大量样板代码,以缩短编写和阅读代码的时间
- 可与 Java 互相调用,灵活搭配
- 容易上手,尤其是熟悉 Java 的 Android 开发者
- 代码安全,编译器严格检查代码错误
- 专属的协程机制,大大简化异步编程
- 提供了大量 Android 专属的 KTX 扩展
- 唯一支持 Android 全新 UI 编程方式 Compose 的开发语言
很多知名 App 都已经采用 Kotlin 进行开发,比如 Evernote、Twiiter、Pocket、WeChat 等。
