gpt4 book ai didi

android - 线程运行时在 Service 中调用 stopSelf()

转载 作者:IT王子 更新时间:2023-10-28 23:31:04 26 4
gpt4 key购买 nike

假设我的 Service 的 onStart() 处理程序中有代码来启动一个线程来做一些事情,然后调用 stopSelf()。

stopSelf() 在线程完成之前被调用。究竟会发生什么?

我自己对此进行了测试,并且我的线程会继续执行直到完成。 Android 是否听到 stopSelf() 调用,但将其推迟到线程完成?

 @Override
public void onStart(Intent intent, int startid) {
new Thread(new Runnable() {
public void run() {
// TODO some long running operation
}
}).start();
stopSelf();
}

最佳答案

stopSelf() gets called before the thread finishes. What exactly happens?

线程运行完成。

Does Android hear the stopSelf() call, but postpone it until the thread is finished?

没有。您的 Service 在调用 stopSelf() 时仍被销毁。你只是在泄漏一个线程和 Service 对象,至少在线程终止之前是这样。

您不妨考虑切换到 IntentService,因为它集成了 background-thread-and-stopSelf() 模式。

关于android - 线程运行时在 Service 中调用 stopSelf(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3710151/

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