gpt4 book ai didi

java - Android 服务的方法在不同的线程中调用。它仍然在主线程上运行吗?

转载 作者:太空宇宙 更新时间:2023-11-03 12:17:21 25 4
gpt4 key购买 nike

如果我没有理解错的话,默认情况下,Android Service 会在主 UI 线程上运行。因此,为了使任何脱离主线程的操作正常工作,我发现人们建议在 Service 中启动一个单独的线程。

但是,我的问题是,如果 Service 的方法在另一个线程中被调用,即 AsyncTasknew Thread(...).start( );Service 的方法是否在调用线程中运行?或者它是否在主线程上运行,据推测 Service 正在其中运行?

换句话说,

new Thread(new Runnable() {

@Overrde
public void run() {
myAndroidService.doSomething();
}
}).start();

MyAndroidService#doSomething() 会在这个新的 Thread 中被调用吗?

最佳答案

方法总是在调用它的线程中运行。

一个方法实际上并不属于任何线程,所以是的,即使该方法是在您的服务中定义的,它将在 AsyncTask 线程中执行,而不是您的服务所在的主线程跑进来。

关于java - Android 服务的方法在不同的线程中调用。它仍然在主线程上运行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30227914/

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