1、如何监听Activity的生命周期?
答:其实这个问题换一种说法就是------Activity的生命周期方法
onCreate()---onStart()-----onResume()----onPause()------onStop()--------onDestroy()
2、启动模式为singleTask的Activity,怎么使用到这个Activity中数据?还有一种问法就是,启动一个 启动模式为SingleTask的Activity,为什么在onCreate方法中获取不到Bundle传递的值?
答:这个也可以称之为栈內复用模式。复用这个Activity时,
如果任务栈内存在该Activity的实例,再次启动的时候,也就不会重新去创建它的实例,不会再执行onCreate()方法,也就获取不到Bundle传递过来的值。此时,我们需要重写 onNewIntent() 方法,系统会回调这个onNewIntent()方法, 并将onNewIntent 接收的 intent 设置给Activity。之后,我们可以在onStart方法中接收Bundle传递过来的值。
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
//从这里传回来的 intent 就是新的 intent
//将 onNewIntent 接收的 intent 设置给 Activity
setIntent(intent);
}
如果任务栈内不存在该Activity的实例,就会重新创建,也就会重新走onCreate方法。