一 Actiivty基本生命周期
onCreate()->onStart()->onResume()
onPause()->onStop()->onDestroy()
二 Fragment的生命周期
onAttach()->onCreate()->onCreateView()->onActivityCreated()
onStart()->onResume()
onPause()->onStop()->onDestroyView()->onDestroy()->onDetach()
onAttached() —— 当fragment被加入到activity时调用(在这个方法中可以获得所在的activity)。
onCreateView() —— 当activity要得到fragment的layout时,调用此方法,fragment在其中创建自己的layout(界面)。
onActivityCreated() —— 当activity的onCreated()方法返回后调用此方法
onDestroyView() —— 当fragment中的视图被移除的时候,调用这个方法。
onDetach() —— 当fragment和activity分离的时候,调用这个方法。
在使用场景上A界面启动B界面时生命周期的过程
A界面:onPuase()==B界面:onCreate()->onStart()-onResume()==A界面onStop()
三 注意事项
注册广播时,建议在onStart()中进行注册,在onStop()中取消注册
在数据进入后台时,数据的保存或往数据库里面插入时,在onPause中进行,以免onStop方法不执行的情况。
在Activity中进行网络请求下载文件,下载成功后进行提示,在提示前添加当前Activity的isFinishing(isFinishing方法只有在调用了finish的方法后才会执行)的判断和isDestroyed的判断,防止文件下载完后,界面被销毁的情况,导致程序奔溃
网友评论