这里我认为主要考察两个知识点:
1. 假设当前 Activity 为 A,如果这时用户打开一个新的 Activity B,那么 B 的 onResume() 和 A 的 onPause()哪个先执行?
2. 当 Activity A 打开的新 Activity B 为透明主题时,Activity A 回调的生命周期?
问题 1 答案:
A 的 onPause() 先执行,然后才会执行 B 的 onResume()。
问题 2 答案:
Activity A 的 onStop() 方法不会执行,其它生命周期和正常 Activity 跳转执行一致。
综上:
a. 正常情况下 Activity A 跳转到 Activity B 时:
A调用 onCreate() 方法 -> onStart() 方法 -> onResume() 方法,此时 A 前台可见。当 A 跳转到 B 时,A 调用 onPause() 方法,然后调用新的 Activity B 中的 onCreate() 方法 -> onStart() 方法 -> onResume() 方法。最后 A 再调用onStop()方法。
b. 当 Activity B 为透明主题时:
除了最后 Activity A 不调用 onStop() 方法之外,其它都和 a 中的一样。
Android面试(7): 两个Activity 之间跳转时必然会执行的是哪几个方法?
最新推荐文章于 2022-06-03 12:17:40 发布