我怎么知道我的应用程序何时会被杀死

时间:2010-08-18 09:54:17

标签: android

我正在开发基于Gps的应用程序,它始终在后台运行。但在极低内存的情况下(或当我打开许多应用程序)我的应用程序被Android系统杀死。

我想重新启动我的应用程序,当它被android系统杀死。我谷歌它为此但没有得到任何解决方案。任何帮助将不胜感激。

谢谢

5 个答案:

答案 0 :(得分:2)

您是否在服务中完成了GPS逻辑?该服务是最后被杀死的东西之一,主要是因为它必须被杀死以释放所需的内存。

也许您的服务应该创建通知,以便通知用户并可以通过点击通知手动重启应用...

答案 1 :(得分:1)

您是否看过这个Activity Lifecycle流程图?在其他应用程序需要内存的情况下,onPause()是在应用程序停止或终止之前发生的最后保证。所以这就是你需要通知的地方(如@WarrenFaith所说)或其他可能会使你的应用程序恢复活力的机制,或者至少让用户ping它以恢复它。

答案 2 :(得分:1)

我认为[startForeground()] [1]正是你要找的。 Android不会终止您的服务,因此您不必担心重新启动它。

祝你好运 汤姆

[1]:http://developer.android.com/reference/android/app/Service.html#startForeground(int,android.app.Notification)

答案 3 :(得分:0)

您可以尝试在调用onDestroy()函数时启动应用程序的新实例。例如:

@Override
public void onDestroy() {
    Intent intent = new Intent(Thisclass.this, Thisclass.class);
    Thisclass.this.startActivity(intent);
    super.onDestroy();
}

答案 4 :(得分:0)

也许你可以利用意图,当这个应用程序被android杀死时,将一个令牌发送给另一个侦听器,以便其他服务器可以启动此活动。

虽然我看不出这不会是一个循环。你结束你的应用程序的方式非常类似于android结束你的应用程序的方式!所以我很确定当你试图结束应用程序时,它会无限循环,表现得非常像恶意软件!