[随手记]activity生命周期

onStop:不一定会执行/马上执行

A拉起B,正常生命周期顺序:A.onPause() -> B.onCreate() -> B.onStart() -> B.onResume() -> A.onStop()

如果B是透明页面:A.onPause() -> B.onCreate() -> B.onStart() -> B.onResume()

如果B进入后就主线程繁忙(如动画):A.onPause() -> B.onCreate() -> B.onStart() -> B.onResume() -> (10s后) -> A.onStop()

A拉起B后迅速回到A:A.onPause() -> B.onCreate() ->(B.finish()) -> A.onResume() -> B.onDestroy()

A拉起B拉起C,C主线程崩溃:

A.onPause() -> B.onCreate() -> B.onStart() -> B.onResume() -> A.onStop()

-> B.onPause() -> C.onCreate() -> C.onStart() -> C.onResume() -> B.onStop()

-> (C crash in main),进程死亡 ->  (新进程)B.onCreate() -> B.onStart() -> B.onResume() 

A拉起B拉起C, C子线程崩溃:

A.onPause() -> B.onCreate() -> B.onStart() -> B.onResume() -> A.onStop()

-> B.onPause() -> C.onCreate() -> C.onStart() -> C.onResume() -> B.onStop()

-> 概率性回调C.onPause() -> (C crash in main),进程死亡 ->  (新进程)B.onCreate() -> B.onStart() -> B.onResume() 

 

onDestroy:不一定会执行

A拉起B,B拉起C,此时退到后台,进程列表上滑杀后台:只有A的onDestroy执行,BC不执行(注意释放资源问题)

Android12上行为变更,不会杀死,而是退到后台

其他情况:看各定制厂商的修改了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值