我知道不应该进行此调用,但此刻是唯一能够足够快地停止活动的事情。
基本上从后台返回应用程序(或使用DDMS"终止应用程序"按钮)后,一些静态变量为空。我想重新启动活动以停止崩溃,因此所有值都会更新。
目前System.exit(0)做了我想做的事,但我知道这不好。
我已经尝试了finish()
,但这并没有足够快地停止活动,它会继续执行一些仍会导致崩溃的指令。
有关如何管理此问题的任何建议。
答案 0 :(得分:2)
关闭正在运行的Android应用程序的标准方法很简单:
finish();
或更复杂的方式是:
android.os.Process.killProcess(android.os.Process.myPid());
答案 1 :(得分:2)
仅限Android api 21>你可以使用>
getActivity().finishAndRemoveTask();
完成此任务中的所有活动并将其从最近删除 任务清单。
它像System.exit(0)一样快地停止应用程序。但它比System.exit(0)
好吗?我不知道......
- 编辑 -
在这个问题enter link description here中,您可以看到各种方法来阻止您的申请。
答案 2 :(得分:1)
根据Activity.finish()的文档:
在您的活动完成后调用此选项并应关闭。 ActivityResult会传播回通过onActivityResult()启动你的人。
当您调用System.exit()时,实际上是在终止JVM;通过完成活动,您可以让Android JVM进行清理。