gpt4 book ai didi

android - IntentService 如何在 Service 需要 stopService() 调用时自动停止?

转载 作者:行者123 更新时间:2023-11-29 14:15:44 25 4
gpt4 key购买 nike

为什么 IntentService 会自动停止,而普通服务需要调用 stopService() 才能停止?这在内部如何运作?

最佳答案

当队列中没有更多工作( Intent )需要处理时,IntentService 调用 stopSelf()。只需在 androidxref.com 等网站上查看 IntentService.java 源代码即可:

http://androidxref.com/4.2.2_r1/xref/frameworks/base/core/java/android/app/IntentService.java

更准确地说(检查所提供链接上的第 66 行):它实际上并不测试队列,而是每次都调用 stopSelf(int)。以 startid(int) 作为参数的 stopSelf() 版本实际上检查服务是否没有收到仍需要处理的更新的启动命令。因为IntentService只有一个工作线程,顺序处理intents,所以这个测试等同于测试“队列是否为空”。

关于android - IntentService 如何在 Service 需要 stopService() 调用时自动停止?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15543601/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com