Android 性能优化技术月报 | 2024 年 1 月
每个月都会有一些 Android 性能优化相关的优质内容发布,然而,碎片化阅读使得这些知识难以形成完整体系,且容易被遗忘。为解决这些问题,我决定尝试使用技术月报的形式,总结我在最近一个月内查阅的 Android 性能优化相关的优质内容。
月报的主要内容包括:整理展示我在最近一个月所查阅的 Android 性能优化领域的最新技术动态、精选博客,精选视频等内容。
精选博客
掌握Java和Android虚拟机
我们知道的虚拟机有很多,运行Java的JVM虚拟机,运行Android程序的Davlik和Art虚拟机等。本文以JVM,Davlik和Art三款虚拟机为例,介绍了一个虚拟机应该具备什么样的能力。
- 基于字节码的编译模块:该模块主要是对源代码进行词法,语法,语义分析生成 AST,并将 AST 生成中间文件,jvm 的编译模块是 javac,Android 虚拟机的编译模块是 javac 和 dx 或d8
- 加载器模块:加载字节码的二进制流,并解析映射至堆内存中
- 解释器模块:解释执行函数字节码指令,虚拟机通过解释执行字节码的一种方式。具体可以分为基于栈的 JVM 和 Davlik 与基于寄存器的 Art
- 基于机器码的编译器模块:是虚拟机执行字节码的另一种方式,将字节码转化为本地机器代码后执行,如 JIT 和 AOT。
- 内存管理模块:虚拟机堆内存在运行时被划分为不同的内存区域(LargeObjSpace,MainAlloocSpace,NonMovingSpace等)以及垃圾回收机制
精选视频
抖音 ANR 自动归因平台建设实践
相比于 Crash 问题,ANR 问题存在缺少信息归因困难,ANR 发生时堆栈抓取不准确等问题,本视频介绍了抖音 ANR 自动化归因平台建设的一些经验。
抖音 Android 启动调度框架探索
启动优化是性能优化中的常见主题,本视频介绍了抖音在 Android 启动调度框架方面做的一些实践。
抖音 ART 虚拟机优化
内存优化是性能优化中的一个重要方向,本视频介绍了抖音在 ART 虚拟机优化方面的一些实践。
抖音厂商合作性能优化
在做性能优化时,除了 app 本身的优化,有时与厂商合作,也会有不错的效果,本视频介绍了抖音与厂商合作做的一些性能优化。
最后更新:
November 17, 2024