上图是官方给出的activity生命周期。
然而,因为android中代码的不连续性,采用虚拟主函数的方法构造了另外一张图,用于数据流分析
这张图的菱形处都是if判断语句。
注意:
1. 在onStart与onResume等前添加了语句before...NopStmt,主要的作用是:当onRestart返回到onStart时,可能onStart不存在,因此不能直接指向onStart,则避免这种情况下,需要在onStart前加一个NopStmt语句才可。
2. 图中的其他方法指的是回调函数和类中没有被生命周期调用的方法。
具体的代码是基于soot实现了,有时间了下篇博客再分享。