一个FragmentActivity多个Fragment的生命周期事件记录
- 初次打开FragmentActivity时
1 VisitTaskManagerActivity(8473): onCreate 2 VisitTaskManagerActivity(8473): onStart 3 VisitTaskManagerActivity(8473): onResume 4 5 Fragment1(8473): onAttach 6 Fragment1(8473): onCreate 7 Fragment1(8473): onCreateView 8 Fragment1(8473): onViewCreated 9 Fragment1(8473): onActivityCreated 10 Fragment1(8473): onViewStateRestored 11 Fragment1(8473): onStart 12 Fragment1(8473): onResume 13 14 Fragment2(8473): onAttach 15 Fragment2(8473): onCreate 16 Fragment2(8473): onCreateView 17 Fragment2(8473): onViewCreated 18 Fragment2(8473): onActivityCreated 19 Fragment2(8473): onViewStateRestored 20 21 Fragment3(8473): onAttach 22 Fragment3(8473): onCreate 23 Fragment3(8473): onCreateView 24 Fragment3(8473): onViewCreated 25 Fragment3(8473): onActivityCreated 26 Fragment3(8473): onViewStateRestored 27 28 Fragment4(8473): onAttach 29 Fragment4(8473): onCreate 30 Fragment4(8473): onCreateView 31 Fragment4(8473): onViewCreated 32 Fragment4(8473): onActivityCreated 33 Fragment4(8473): onViewStateRestored 34 35 Fragment2(8473): onStart 36 Fragment2(8473): onResume 37 38 Fragment3(8473): onStart 39 Fragment3(8473): onResume 40 41 Fragment4(8473): onStart 42 Fragment4(8473): onResume
- 系统按HOME键到桌面时
VisitTaskManagerActivity(7275): onPause Fragment1(7275): onPause Fragment2(7275): onPause Fragment3(7275): onPause Fragment4(7275): onPause VisitTaskManagerActivity(7275): onStop Fragment1(7275): onStop Fragment2(7275): onStop Fragment3(7275): onStop Fragment4(7275): onStop
- 从桌面返回FragmentActivity时
1 VisitTaskManagerActivity(8473): onStart 2 Fragment1(8473): onStart 3 Fragment2(8473): onStart 4 Fragment3(8473): onStart 5 Fragment4(8473): onStart 6 VisitTaskManagerActivity(8473): onResume 7 Fragment1(8473): onResume 8 Fragment2(8473): onResume 9 Fragment3(8473): onResume 10 Fragment4(8473): onResume
- 自动切换横竖屏时(或者按HOME键到桌面时,杀掉进程,再从桌面返回FragmentActivity时)
VisitTaskManagerActivity(8504): onCreate Fragment1(8504): onAttach Fragment1(8504): onCreate Fragment2(8504): onAttach Fragment2(8504): onCreate Fragment3(8504): onAttach Fragment3(8504): onCreate Fragment4(8504): onAttach Fragment4(8504): onCreate VisitTaskManagerActivity(8504): onStart Fragment1(8504): onCreateView Fragment1(8504): onViewCreated Fragment1(8504): onActivityCreated Fragment1(8504): onViewStateRestored Fragment2(8504): onCreateView Fragment2(8504): onViewCreated Fragment2(8504): onActivityCreated Fragment2(8504): onViewStateRestored Fragment3(8504): onCreateView Fragment3(8504): onViewCreated Fragment3(8504): onActivityCreated Fragment3(8504): onViewStateRestored Fragment4(8504): onCreateView Fragment4(8504): onViewCreated Fragment4(8504): onActivityCreated Fragment4(8504): onViewStateRestored Fragment1(8504): onStart Fragment2(8504): onStart Fragment3(8504): onStart Fragment4(8504): onStart VisitTaskManagerActivity(8504): onResume Fragment1(8504): onResume Fragment2(8504): onResume Fragment3(8504): onResume Fragment4(8504): onResume
在此使用onSaveInstanceState来保存临时状态的需留意的:
- 根据官方文档的说明,onSaveInstanceState的调用时机为非正常finish()情况下,可能在onPause到onDestroy之间的任意时刻调用。
onSaveInstanceState | Android Developers
作者:Asion Tang
凡是没有注明[转载]的文章,本Blog发表的文章版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。