Android线程和服务优先级

时间:2018-09-13 18:00:46

标签: android multithreading android-service android-thread

我在网络(Why to use Service if it runs in the same thread in android)上阅读有关服务和线程的信息,得出的结论是,一般而言,服务比线程具有更高的优先级。

我有一个应用程序,该应用程序通过静态类使用简单线程执行下载操作,并在5分钟内完成。但是,当我按下“主页”按钮并过一会儿再次打开应用程序后,执行速度变慢,因为我按下了“主页”按钮。

我要问的是,如果我使用某项服务的速度会更快,或者按下主屏幕按钮,这会减慢应用程序的速度是正常的,或者优先级与执行时间无关?

谢谢。

1 个答案:

答案 0 :(得分:1)

不,他们没有。服务不是执行上下文,它们根本没有优先级。我不确定您是从哪儿得到这个主意的,但是就像说花生比排球要优先。只是没有道理。

现在,无论前台应用程序是什么,通常都将首先获取CPU,但下载操作不会占用大量CPU资源。它的网络密集。即使CPU处于后台,也可以使CPU足够长以从套接字读取数据,这没有问题。

服务的重点是它提供了上下文,但没有绑定到任何UI,应用程序的任何屏幕或应用程序处于前台。它是您可以进行后台处理或处理多个“活动”所需的数据的地方。就是这样,它与线程或优先级无关。