gpt4 book ai didi

java - 推迟 Android 绑定(bind)服务的销毁

转载 作者:行者123 更新时间:2023-12-01 09:46:33 27 4
gpt4 key购买 nike

我有一个处理多个客户端连接的 Android 绑定(bind)服务。如果我理解正确的话,如果没有客户端连接,Android 将终止该服务。

但是,此时,在客户端断开连接后 1 分钟内,我的服务可能仍有另一个线程在运行。我担心的是,如果我在服务被销毁之前加入此线程,那么销毁会被延迟,并且会阻止创建新服务,从而丢弃新的客户端连接。这是真的?有没有办法推迟绑定(bind)服务的销毁? (就像在工作线程启动时向服务添加假绑定(bind)计数并在线程结束时减去。)

基本上,我想介绍的情况是:

  1. 该服务在单独的线程中有一个长时间运行的任务。
  2. 客户端连接数为零。
  3. 服务尚未终止,因为子线程仍在运行。

    3-1。子线程完成,然后服务被杀死。

    3-2。当子线程运行时,会绑定(bind)一个新的客户端。所以服务继续运行。

最佳答案

这正是以 startService() 开头的 Service 的工作方式。 。通常,在每次绑定(bind)到服务之前,都会通过该调用启动服务。

stopSelf()Context.stopService() 将立即停止服务或在所有边界解除限制后立即停止服务。

关于java - 推迟 Android 绑定(bind)服务的销毁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37956800/

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