上图中A是activity A,B是activity B。程序实现从A跳转到B的各个生命周期的实现。
启动activity时:oncreat--onStart—onResume
延时5秒后A跳转B
A先暂定onPause B开始启动oncreat--onStart—onResume
当A完全不可见时实现onStop
所以一般可以在onPause 阶段实现一些保存当前数据的操作。
B执行一个延时10秒的进程(这个进程里有B到A的跳转)
同时finish掉B,
这时可以看到A开始执行onActivityResult,它的执行顺序在当前最高,所以很多信息的操作我们都可以在这里进行信息的处理
处理完之后在运行onRestar—tonStart—onResume
当B完全不可见时再次执行onStop—onDestroy
虽然B已经完全销毁了但是我们看到B中的延时线程仍然在执行,十秒之后仍然运行跳转A的操作。
虽然我们可以利用这点做个简单的后台操作,但一点也不建议,只推荐在B销毁的时候同时消除所有线程。