如果Android服务崩溃,它会关闭正在运行的应用程序吗?

shi*_*mar 5 service android android-intent

我正在为Android应用程序组件编写服务,我希望我的应用程序不会因为服务中的任何错误而崩溃.默认情况下,应用程序是否受到保护,以防止后台服务的任何错误行为.

Vip*_*mar 9

要回答你的问题,是的.如果您的应用程序中的服务崩溃,您的应用程序将被终止.
要提供解决方案,请不要让服务崩溃.我相信如果你可以阻止整个应用程序的使用,你可以防止服务崩溃.使用try-catch或其他编程方法来处理异常.如果代码中的任何特定内容需要帮助我们,请告诉我们.

更新:我假设您正在使用"单一流程模型".正如评论所暗示的那样,还有更多内容.如果该进程中的服务崩溃,您的进程将被终止.如果主线程在同一进程下运行,您的应用程序将被终止.
默认情况下,Android在整个应用程序中使用相同的过程 在这种情况下,如果发生任何异常(因为进程崩溃),应用程序将被终止.您可以为清单下的不同活动指定不同的流程(如果您"真的"需要它).
有关如何执行此操作的更多详细信息,请参阅进程和线程.

  • 我认为这不容易.没有简单的"是"答案.这取决于.例如,如果`Service`在另一个进程中运行,则崩溃的`Service`不会使运行UI的进程崩溃.此外,如果`Service`使用工作线程,并且工作线程崩溃,这也不会终止进程.只有当主线程崩溃时才会终止进程. (2认同)