首页 > 解决方案 > onDestroy 方法未在 android o 版本中调用

问题描述

我想在 ondestroy 覆盖方法中调用方法,但该覆盖方法不仅仅调用 android o。为什么它没有调用是否有任何替代方法请任何人帮助我解决我的问题。在此先感谢。

标签: androidandroid-8.0-oreoandroid-ondestroy

解决方案


鉴于您在活动中覆盖 onDestroy() 并手动终止您的应用程序的评论:

请注意,不能保证 onDestroy() 将被正确调用。因此,您不应在那里执行关键操作。

请参阅文档的摘录:

注意:不要指望这个方法被称为保存数据的地方!例如,如果一个活动正在内容提供者中编辑数据,那么这些编辑应该在 onPause() 或 onSaveInstanceState(Bundle) 中提交,而不是在这里。此方法通常用于释放资源,例如与活动相关联的线程,以便在其应用程序的其余部分仍在运行时,被破坏的活动不会留下这些东西。在某些情况下,系统会简单地终止 Activity 的宿主进程,而不会在其中调用此方法(或任何其他方法),因此不应使用它来执行打算在进程消失后保留的事情。


推荐阅读