【问题标题】:How can I kill an entire application on Android? [duplicate]如何杀死 Android 上的整个应用程序? [复制]
【发布时间】:2012-09-01 22:25:40
【问题描述】:

可能重复:
Android: How to kill an application with all its activities?

我正在寻找一种方法来杀死整个应用程序(例如关闭进程),以防我的应用程序崩溃。我想这样做的原因是因为我的很多运行时数据都存储在一个静态类中,所以当应用程序崩溃时,这个类就会被杀死。

我已经看到有关 Android 哲学的相关问题(例如,关于不杀死应用程序等),但现在我只需要杀死我的应用程序。我该怎么做?

我的应用有多个活动,我尝试了以下操作。它所做的只是恢复之前的活动。

System.exit(0)


 ActivityManager servMng
 servMng = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
 servMng.killBackgroundProcesses(<my package name>);


android.os.Process.sendSignal(android.os.Process.myPid(),
android.os.Process.SIGNAL_KILL);

android.os.Process.killProcess(android.os.Process.myPid());

【问题讨论】:

    标签: java android process kill-process


    【解决方案1】:

    AFAIK android 哲学不允许从内存中杀死整个应用程序。Android 可以决定将您的应用程序保留在内存中以便更快地进行后续访问,或者它可以决定刷新它。您必须处理单个组件,例如活动、服务。在适当的时候关闭它们中的每一个,你应该没有任何问题。当你不需要它们时,让你的静态变量为空..

    【讨论】:

      【解决方案2】:
      android.os.Process.killProcess(android.os.Process.myPid());
      

      归功于@Thirumal 也可能重复How to kill an application with all its activities?

      【讨论】:

      • 我也试过这个,但它也只杀死当前活动并恢复以前的活动。对不起,我之前忘记提了。我将编辑我的问题。
      猜你喜欢
      • 1970-01-01
      • 2013-02-04
      • 2018-05-06
      • 1970-01-01
      • 2011-03-07
      • 2018-08-17
      • 1970-01-01
      • 2016-05-12
      • 2013-04-18
      相关资源
      最近更新 更多