Q
服务运行次数
1
A
回答
5
如果你是开始服务startService
然后第一次它的onCreate
方法将被调用,它已经多少次启动服务并不重要,但它的方法onStartCommand(Intent, int, int)
将被调用尊重你的startService调用。无论您拨打startService
多少次,致电stopService
时都会停止服务。
不要忘记在停止服务器时释放资源,线程。
你可以参考这个文档:
http://developer.android.com/reference/android/app/Service.html
-1
可以轻松地检查服务是否与下面的代码
public boolean isServiceRunning() {
ActivityManager manager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
for (RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) {
if ("com.example.app.ServiceClassName".equals(service.service.getClassName())) {
return true;
}
}
return false;
}
运行时,您还可以在此处详细了解服务的生命周期:http://developer.android.com/reference/android/app/Service.html#ProcessLifecycle
3
如果一个Android服务已经启动,Android将不会再次启动该服务。 例如呼叫:
Intent intent = new Intent(YourService.class.getName());
startService(intent);
...在几个独立的活动(结合IPC监听器或诸如此类的东西),不会造成服务的新实例。您可以通过查看DDMS看到这一点,你应该看到类似:
com.domain.app
com.domain.app:remote
远程条目是您的服务,而且只会出现一次,你也可以看到这下Android的设置,应用程序上运行的服务你的设备。
至于数据在服务重新启动时被删除,这是保存状态问题,应该存储任何想要在重新启动后生存的数据(如杀死应用程序),有关更多详细信息,请参见http://developer.android.com/guide/topics/data/data-storage.html。
相关问题
- 1. 每30秒运行一次Android服务
- 2. SQL服务器运行光标两次
- 3. Android首次运行服务更新
- 4. Java的定时服务运行多次
- 5. Windows服务,以每月一次运行
- 6. 运行集成测试再次运行服务器
- 7. 运行从服务
- 8. Sinatra服务器运行一次就执行代码
- 9. 错误运行轨道服务器,服务器已经运行
- 10. Firebase数据库在服务中运行
- 11. Wso2数据服务未运行
- 12. Apache服务器运行
- 13. 服务器运行java servlet
- 14. 运行odoo作为服务
- 15. 24小时运行服务
- 16. 服务类不运行
- 17. 运行远程服务器
- 18. 运行多个服务
- 19. 运行后台服务ruby
- 20. Windows服务不断运行
- 21. 从winform运行windows服务
- 22. 服务运行然后死
- 23. C#Windows服务运行
- 24. 运行多个服务
- 25. EXE从服务器运行
- 26. 从Gradle运行服务
- 27. .Net Windows服务不运行
- 28. 错误运行“Jekyll服务”
- 29. 我作为服务运行
- 30. 午夜运行windows服务
阅读此问题.. –