Android 中的应用关闭事件

新手上路,请多包涵

有什么方法可以知道您的应用程序正在运行吗?我想在 Android 应用程序刚刚关闭时运行一段代码。任何建议将不胜感激。

原文由 mani 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 681
2 个回答

经过这么多时间,现在只是回答我自己的问题。当用户关闭应用程序时,该过程将终止,恕不另行通知。不保证会调用 onDestroy。仅当您显式调用 finish() 时。

原文由 mani 发布,翻译遵循 CC BY-SA 3.0 许可协议

通常,在 Android 中没有关闭应用程序这样的事情:用户只是停止使用该应用程序。程序员要确保用户没有提到进程的创建和终止。

请注意,Android 可能会在内存不足时终止应用程序进程,并在稍后重新启动应用程序。

例如,一个旧的类似办公的应用程序有以下错误:用户想要插入一张照片,办公应用程序调用相机应用程序,Android 杀死了办公应用程序。 Office 应用程序尚未准备好重新启动并丢失所有文档更改(这是错误)。显然,有问题的应用程序忽略了传递给 onCreate() 的包。

所以进程生命周期和应用程序生命周期是不同的东西。进程重启对应用程序 可见的:静态变量被重置为它们的初始值(很可能是 null)。所以有可能有一个非空包和空静态数据结构。

下面是一个在进程结束时执行一段代码的例子: Android camera locked after force close 。在那篇文章中解决的问题是当进程结束时 Android 本身不会关闭相机。我无法从您的帖子中判断您的问题是否与此类似。

原文由 18446744073709551615 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题