正如这个页面所说:
一旦启动,服务可以无限期地在后台运行,即使启动它的组件被破坏。
那么,如果服务中存在无限循环,并且系统资源不足,服务会被杀死吗?如果是,那么我不能确定我的服务会运行到最后吗?
是的,如果您的服务需要资源,如果您想要始终运行您需要使用的东西,您的服务可以被操作系统杀死,startForeground
但即使这样也不能保证它不会被杀死的可能性要小得多。
usingstartForeground
要求你在通知栏中有一个通知,告诉用户有东西仍在运行
您可以设置服务的优先级,要求它不会被终止,但只有在您真的非常需要它时才应该这样做。您的服务不应该占用太多资源,因为它没有与之关联的 UI,因此它可能不是一个很好的杀死以释放资源的候选者。如果您的 Service 被杀死,它将在您尝试绑定到它时重新启动,因此就您的应用程序而言,您真的不应该看到差异。