1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > Activity生命周期执行的顺序总结

Activity生命周期执行的顺序总结

时间:2018-07-21 17:29:22

相关推荐

Activity生命周期执行的顺序总结

最近在回顾玉刚的《Android开发艺术探索》的时候稍微扩展了一下, 如果Activity生命周期结合launchMode后, Activity之间跳转时, Activity的生命周期会发生什么新的变化呢? 基于此想法有了这篇博客的总结. 各位同仁如果在看的过程中发现任何问题, 欢迎留言反馈, 我会及时甄误, 谢谢。

一、launchMode= standard:

1.ActivityA 跳转到ActivityB, 他们的生命周期如下:

Activty(A) -- onPause

Activty(B) -- onCreate

Activty(B) -- onStart

Activty(B) -- onPostCreate

Activty(B) -- onResume:

Activty(B) -- onPostResume

Activty(A) -- onSaveInstanceState

Activty(A) -- onStop

特别注意:

(1)如果新开启的Activity(B)为Dialog主题时, Activity(A)不执行onStop方法;

如果在ActivityB按Home键退到后台, 它们的生命周期如下:

Activty(B) -- onPause

Activty(A) -- onStop

Activty(B) -- onSaveInstanceState

Activty(B) -- onStop

(2)如果开启的Activity(B)为Dialog主题, Activity(A)的onStop不执行, 继续打开新的ActivityC, 它们的生命周期如下:

Activty(B) -- onPause:

Activty(A) -- onStop:

Activty(C) -- onCreate

Activty(C) -- onStart

Activty(C) -- onPostCreate

Activty(C) -- onResume:

Activty(C) -- onPostResume

Activty(B) -- onSaveInstanceState

Activty(B) -- onStop

这时在ActivityC按Back返回, 它们之间的生命周期如下:

Activty(C) -- onPause

Activty(A) -- onRestart

Activty(A) -- onStart

Activty(B) -- onRestart

Activty(B) -- onStart

Activty(B) -- onResume

Activty(B) -- onPostResume

Activty(C) -- onStop

Activty(C) -- onDestroy

2. 这时在ActivityB按Back键正常返回, 它们之间的生命周期如下:

Activity(B) -- onPause:

Activty(A) -- onRestart:

Activty(A) -- onStart:

Activty(A) -- onResume:

Activty(A) -- onPostResume:

Activty(B) -- onStop

Activty(B) -- onDestroy

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。