今天我们一起来看五道 Activity 生命周期的面试题,相信看完之后面试官再问到相关的问题,你就能胸有成竹了。
activity被系统杀死,是否走destory流程?
使用小米11的实验结论:
从MainActivity打开BActivity时,从下往上滑回桌面后,点击系统清理,走的是BActivity的onDestroy;
从MainActivity打开BActivity时按返回键回到MainActivity后,从下往上滑回桌面,点击系统清理,走的MainActivity的onDestroy.
也就是说,只会走最后在显示的activity的onDestroy的生命周期,其他activity的onDestroy不会回调到。
A Activity 打开 B Activity 时都有哪些生命周期回调。
这道题相信很多同学都有遇到过,简单 A.onPause -> B.onCrete -> B.onStart -> B.onResume -> A.onStop . Naive ! 这样回答只是及格,因为仅在 B Activity 的 launchMode 为 standard 或者 B Activity 没有可复用的实例时是这样的。
当 B Activity 的 launchMode 为 singleTop 且 B Activity 已经在栈顶时(一些特殊情况如通知栏点击、连点),此时只有 B 页面自己有生命周期变化: B.onPause -> B.onNewIntent -> B.onResume
当 B Activity 的 launchMode 为 singleInstance ,singleTask 且对应的 B Activity 有可复用的实例时,