Java 如何在Android上杀死整个应用程序?
可能重复:Java 如何在Android上杀死整个应用程序?,java,android,process,kill-process,Java,Android,Process,Kill Process,可能重复: 我正在寻找一种方法,在我的应用程序崩溃时杀死整个应用程序(例如关闭进程)。我之所以想这样做,是因为我的很多运行时数据都存储在一个静态类中,所以当应用程序崩溃时,这个类就会被杀死 我已经看到了关于Android哲学的相关问题(例如,关于不杀掉应用程序等),但现在我只需要杀掉我的应用程序。我该怎么做 我的应用程序有多个活动,我尝试了以下操作。它所做的只是恢复以前的活动 System.exit(0) android.os.Process.killProcess(android.os.
我正在寻找一种方法,在我的应用程序崩溃时杀死整个应用程序(例如关闭进程)。我之所以想这样做,是因为我的很多运行时数据都存储在一个静态类中,所以当应用程序崩溃时,这个类就会被杀死 我已经看到了关于Android哲学的相关问题(例如,关于不杀掉应用程序等),但现在我只需要杀掉我的应用程序。我该怎么做 我的应用程序有多个活动,我尝试了以下操作。它所做的只是恢复以前的活动
System.exit(0)
android.os.Process.killProcess(android.os.Process.myPid())代码>
归功于@Thirumal也有可能重复AFAIK android哲学不允许从内存中删除整个应用程序。android可能会决定将你的应用程序保留在内存中,以便后续更快地访问,也可能会决定刷新它。您必须处理单个组件,如活动、服务。在适当的时候关闭它们中的每一个,你不应该有任何问题。当不需要静态变量时,将其设为null 我也试过了,但它也只杀死了当前的活动并恢复了以前的活动。对不起,我刚才忘了提。我将编辑我的问题。
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());