标签:ART清除筛选

Android-Framework(十七)-startService 与 bindService 的启动流程

startService 和 bindService 表面上对应两套 API,进入 Framework 后却共享了大半条启动链。两者都从调用方进程进入 ContextImpl,经 Binder 到达 system_server 中的 ActivityManagerService(下文简称 AMS),由 ActiveServices 查找或创建 ServiceRecord,再把生命周期调用投

Android-Framework(十六)-startActivity 的启动过程

本文依据 corpus 仓库中的四段录屏整理,内容覆盖桌面入口、前一个 Activity 的暂停、目标进程判定,以及新 Activity 的创建与显示。 上一篇《Android-Framework(十五)-进程的 fork 创建过程》已经分析 startSpecificActivityLocked 到 Zygote fork、ActivityThread.main 、attachApplic

Android 热修复(四):安卓 N 混编为什么让「类替换」失效

本文整理自享学团队直播课《热修复(四):Android N 混编问题》。 前一篇把「类替换」这条链用反射实现了一遍:补丁 dex 转成一组 Element,插到 PathClassLoader 内部 DexPathList 的 dexElements 数组最前面,类加载按顺序先命中补丁,旧类被顶掉。这套做法在 Android 6.0 上跑通了。但到了 Android 7.0,它可能整个失效:不是代