我知道不应该使用 system.exit(0) 。我已经阅读了很多教程,并说明了为什么不建议将它用于退出应用程序,而 finish() 是一个更好的选择,但在极少数情况下,当使用这种肮脏的解决方法时,我的主要问题是 它是否会损害 android 设备或任何方面如果使用设备?
问问题
4953 次
3 回答
10
简短的回答:不。
长答案:不,它不会损害设备或设备的任何方面。它只是从内存中删除应用程序并清理所有使用的资源。如果您打开了任何文件,它们可能会损坏,但文件系统不会。Android 应该释放您当时正在使用的所有资源(GPS、WiFi 等),但它们可能处于未定义状态。比较System.exit()
应用程序崩溃的影响:这也不会影响您的设备。
于 2012-06-29T07:17:00.673 回答
1
System.exit(0)
由于以下原因,不建议在应用程序的“main”方法之外调用任何地方。
这是重用代码的障碍。
它使单元测试变得困难。例如,如果您的代码在某些测试执行某些错误处理时调用 System.exit,它将在遇到
System.exit(0)
.
于 2012-06-29T07:09:11.777 回答
1
它不会损害您的设备。唯一棘手的一点是,由于异步意图广播/接收架构,Android 可以立即让您的应用恢复活力。假设您刚刚广播了您的应用程序的活动正在收听的内容。然后你退出。但是 android 会让你的应用恢复活力来处理广播。
于 2012-06-29T07:22:23.137 回答