我有一个服务,当被调用时,检查一些状态值,并根据状态,可能需要异步调用一些东西(locationmanager + asynctask),或者只保存一个值并退出。
我创建了一个服务而不是一个intentservice,因为我提到我有时需要创建异步任务。
我已经阅读了服务,我知道我应该在完成后调用stopSelf。但是在我不需要做任何事情的情况下,当我从onStartCommand退出时,我就完成了。
那么,如果我在那时完成了,只需在onStartCommand的最后一行调用stopSelf吗?这种方法有问题吗?
感谢输入。
答案 0 :(得分:1)
如果您只是执行if
检查服务,为什么在启动服务之前不会执行该检查,从而避免消耗宝贵的资源?
要回答您的问题 - 是的,stopSelf()
会导致停止Service
,但如果服务未被使用,请考虑不启动它。