如何知道申请何时完成?

时间:2011-10-21 13:49:21

标签: android service

我需要知道应用程序何时完成停止它启动的所有本地服务。

我该怎么做?

4 个答案:

答案 0 :(得分:1)

您可以尝试使用onDestroy()(不推荐),以了解Android何时从内存中清理您的应用。或者也可以使用onStop()来了解活动何时在后台发送 在Activity栈的第一个活动中实现这两个方法。

让我们看看它是否有帮助,因为到目前为止我还没有尝试过。

答案 1 :(得分:0)

一个想法是使用BoundService,尽管它是您的应用程序自己的服务。根据定义,当删除las连接时,绑定服务将停止。

另一个想法是在Application对象中定义count(可以覆盖全局Application对象)。您可以在每个onRause中递增计数,并在每个onPause中递减计数。

答案 2 :(得分:0)

  1. 您可以在main函数上使用try / finally并在最后一个块中清理服务

  2. 您可以使用对象终结器来发出关闭命令。你不会确切知道它何时发生,因为垃圾收集器会以自己的速度运行,但你知道它最终会发生。

答案 3 :(得分:-1)

我现在正在解决同样的问题,我有一个想法并将实施它: 1.static变量调用(String currentShownActivity)。 2.在每个Activity(onResume())中,我用活动名称填充变量。因此,当我在活动之间导航时,currentShownActivity变量会更改并带有当前活动名称。 3.在每个onPause()上,设置标志,指​​示活动onPause()调用(即布尔值IsPauseCalled) 4.in onStop()检查IsPauseCalled和活动名称。 如果调用onPause活动并且currentShownActivity中的名称没有改变(这意味着我们将活动留给"没有活动")并且这意味着按下[home]键。

了解应用程序未运行的集成方式Check onDestroy主要活动。