关键词:安卓后台杀死进程,Activity里 onDestroy会执行吗?
【答案】:OnDestroy会执行,也不会执行。
如果APP启动了MainActivity,MainActivity再启动了Activity1,Activity1再启动了Activity2。这时在后台手动杀死进程(先显示进程列表,手指选中应用向上滑,杀死进程),会在log里看到Activity1和Activity2的OnDestory没有执行,但MainActivity的onDestroy执行了。
所以一定要释放的资源请放在MainActivity的OnDestroy里。
备注:在安卓10(Q),安卓11, 安卓12上测试的,表现都一致
- 如果MainActivity 启动了Service了,经测试在不同手机表现不一致。
在OPPO手机测试,Service onDestroy没有执行。使用Google Pixel 2L手机测试,onDestroy执行了。猜测国内手机因为厂商定制,Service onDestroy没有执行。
上海泗泾
2022年4月2日