代码之家  ›  专栏  ›  技术社区  ›  Henrik

我的本地服务是否生成另一个线程?

  •  1
  • Henrik  · 技术社区  · 14 年前

    为了能够在我的应用程序/活动和本地服务之间编写“不错”的代码,我需要了解一些基本的Android概念:

    我想知道的是,我的应用程序(和我的活动一样)和本地服务是否共享一个线程。即,当活动和本地服务执行排队的任务时,这些任务是交错在一个线程中从而共享线程,还是服务有自己的线程?

    此外,如果本地服务与活动共享线程,并且本地服务直接调用(通过回调)其中一个活动(即不发送消息),那么活动线程是“暂停”的,还是该特定函数的执行排队等待稍后执行?

    亨利克

    1 回复  |  直到 14 年前
        1
  •  4
  •   Quintin Robinson    14 年前

    通孔 Application Fundamentals :

    与活动和其他组件一样,服务在应用程序进程的主线程中运行。为了不阻塞其他组件或用户界面,它们通常会为耗时的任务(如音乐播放)生成另一个线程。见 Processes and Threads ,稍后。

    现在,如果服务是一个单独的应用程序,那么情况就不同了。
    也从 应用程序基础 :

    在许多方面,每个Android应用程序都生活在自己的世界中:

    • 默认情况下,每个应用程序都在自己的Linux进程中运行….