1、怎么理解Activity的生命周期?

2、如果一个Activity在用户可见时才处理某个广播,不可见时注销掉,那么应该在哪两个生命周期的回调方法去注册和注销BroadcastReceiver呢?

Activity 的可见生命周期发生在 onStart调用与 onStop调用之间。在这段时间,用户可以在屏幕上看到 Activity 并与其交互。我们可以在 onStart中注册一个 BroadcastReceiver以监控影响 UI 的变化,并在用户无法再看到您显示的内容时在 onStop中将其取消注册。

3、如果有一些数据在Activity跳转时(或者离开时)要保存到数据库,那么你认为是在onPause好还是在onStop执行这个操作好呢?

onPause时Activity界面仍然是可见的,如弹出一个Dialog时。但在保存数据时,放在onPause去做可以保证数据存储的有效性,如果放在onStop去做,在某些情况下Activity走完onPause后有可能还没顺利走到onStop就被系统回收了。

但要注意在onPause中要非常迅速地执行完所需操作,不然会影响到下一个Activity的生命周期函数的调用。

4、简单说一下Activity A启动Activity B时,两个Activity生命周期的变化。

Activity A 的 onPause方法执行。

Activity B 的 onCreate、onStart和 onResume方法依次执行。

然后,如果 Activity A 在屏幕上不再可见,则其 onStop方法执行。

results matching ""

    No results matching ""