究竟做什么Stopself()? 终止服务运行的最佳方法是什么?

我是android的初学者,对java没什么经验…

我有一个Activity创建一个ALARM MANAGER并启动指向服务alarmManager.setRepeating()

onCreate中的此服务设置部分唤醒锁以执行代码的整个执行(该应用程序用于非用户交互,因此电话始终处于待机状态)。

所有这些工作都很完美。

有时,服务不应执行整个代码,而是在执行之前退出。 所以我使用了StopSelf但我有些疑惑:

  • Service中的onDestroy函数具有删除唤醒锁的代码。 StopSelf()调用它吗?

  • 无论如何,如果我没有指定任何函数来终止服务,代码执行后何时终止?

所以在我的情况下,更好的替换onDestroy()而不是Stopself() ? 很多人!

你应该调用stopSelf ()来停止服务。 调用它之后,Android Framework将自动调用onDestroy()方法。

实际上,这些onXXX()方法(前缀“on”意味着这些方法是系统的回调)应由系统调用,而不是由开发人员调用。 阅读SDK 文档以获取更多详细信息。

Thread完成之前调用stopSelf()
调用stopSelf()时, Thread运行完成。

stopSelf()调用时, Service仍然被销毁。

要回答您的其他问题,服务仅在调用stopSelf()或Context.stopService()时终止。

参考:转到服务生命周期: http : //developer.android.com/reference/android/app/Service.html