activity有几个时刻
onCreate:打开app
onStart:打开app,从Intent返回
onResume:打开,从Intent返回
onPause:链入新的intent,back退出app
onDestroy:back退出app
onStop:链入新的intent,back退出app
理解上面的几个时期非常重要。
一个重要用处就是Fragment的创建该放在哪个阶段。曾经放在onStart,结果造成一个重大问题。因为Fragment里面会链接到新的Intent,而从这个新的Intent返回时会先运行到对应的Activity的onStart,而Fragment这里会重新初始化导致程序出现问题。所以应该放在onCreate()里面。
另外诸如线程的创建的时机也很讲究。
相应的,Fragment也有几个关键时刻。
1. onAttach(Activity)
2. onCreate(Bundle)
3. onCreateView(LayoutInflater, int, Bundle)
4. onActivityCreated(Bundle)
这几个时刻先后关系如数字所示。
一般,我们在onAttach这里获取activity。在onCreateView这里inflate处view,故而可以得到页面的控件。