Android学习|Fragment——03.Fragment的生命周期
一、Fragment生命周期图
二、不同操作下fragment周期状态
1.打开有fragment的界面
onCreate() -> onCreateView() ->onActivityCreated() ->onStart() ->onResume()
2.按下主屏键
onPause() - >onStop()
3.重新打开界面
onStart() ->onResume()
4.按后退键
onPause()->onStop()->onDestroyView()->onDestroy()->onDetach()
5.当前fragment打开新的fragment替换
是否添加 transaction.addToBackStack(null);让fragment被替换时入栈,效果不同
a、fragment入栈
onPause()->onStop()->onDestroyView()
b、fragment未入栈
onPause()->onStop()->onDestroyView()->onDestroy()->onDetach()
6.又换回刚才的fragment
onCreate() -> onCreateView() ->onActivityCreated() ->onStart() ->onResume()
7.清除后台
onDestroyView()->onDestroy()->onDetach()
演示
1.打开有fragment的界面
2.按下主屏键
3.重新打开界面
4.按后退键
5.当前fragment打开新的fragment替换
a、添加了 transaction.addToBackStack(null);让fragment被替换时入栈
b、没有添加了 transaction.addToBackStack(null);让fragment被替换时直接销毁
6.又换回刚才的fragment
7.清除后台
三、Fragment生命周期注意事项
1、将来开发者会围绕fragment生命周期花很多时间来解决问题
2、Fragment的使用一定是需要在生命周期函数onAttach与onDetach之间
3、Fragment的使用—定要遵守生命周期管理的规则,在正确的地方写恰当的代码