从我在Android开发者网站上看到的documentation我很清楚,默认情况下,service在应用程序的主线程上运行。这是android文档的摘录...
警告:服务在其托管进程的主线程中运行;除非另行指定,否则服务不会创建自己的线程,也不会在单独的进程中运行。如果您的服务要执行任何CPU密集型工作或阻止操作(如MP3播放或网络),则应在服务中创建新线程以完成该工作。通过使用单独的线程,您可以降低应用程序无响应(ANR)错误的风险,并且应用程序的主线程可以保持专用于用户与您的活动的交互
但是,如果我在一个单独的进程中运行我的服务,它仍会在应用程序的主线程中运行吗?
我在应用程序的清单文件中写了这个。
<service android:name=".MyService"
android:process=":my_service"/>
process属性将导致服务在不同的进程中运行。