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 Bundleandroid app bundle 是一种发布格式,其中包含您应用的所有经过编译的代码和资源,它会将 APK 生成及签名交由 Google Play 来完成。
这个新格式对面向海外市场的 3rd Party App 影响较大,对面向国内市场的 App 影响不大。但作为未来的构建格式,了解和适配是迟早的事。
- 其针对目标设备优化 Apk 的构建,比如只预设对应架构的 so文件、图片和语言资源。得以压缩体积,进而提升安装成功率并减少卸载量
- 支持便捷创建 Instant App,可以免安装、直接启动、体验试用
- 满足模块化应用开发,提升大型项目的编译速度和开发效率
Google 对 .aab 格式非常重视,也极力推广:从去年也就是 2021 年 8 月起,规定新的 App 必须采用该格式才能在 Google Play 上架。
fun 神的「AAB 扶正!APK 将退出历史舞台」文章针对 AAB 技术有完整的说明,可以进一步了解。
四、KotlinA 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 等。