Android Weekly 是一份专注于 Android 技术的周刊,本期讨论了 Flutter、React Native 和 Compose Multiplatform 的比较,介绍了动效编辑器 Simple Editor 和解决 Flutter Boost 页面闪烁问题的方法。此外,还探讨了 Android 16 的新特性、Crash 治理方案及 Zygote 机制对应用启动性能的影响。
点击安卓应用图标时,系统通过Launcher处理触摸事件,创建Intent并请求Activity Manager Service(AMS)启动应用。AMS检查应用状态,若未运行则请求Zygote启动新进程。Zygote复制自身,启动Android Runtime,加载应用代码并创建Application对象,最终AMS启动活动并渲染UI,应用显示在屏幕上。优化此过程可提升启动速度。
之前研究art的时候发现了native bridge,简单来说这东西是主要作用就是为了能运行不同指令集的so(比如x86的设备运行arm的app),而arm设备上这个东西一般都是关闭的,研究了一下后发现这东西挺适合动手脚的,刚好自己在用的Riru被针对了,所以有了这篇博客。把对应的示例代码传到了github:NbInjection,接下来我们聊一下这个小玩具。
完成下面两步后,将自动完成登录并继续当前操作。