一个intentService不会被系统杀死?

时间:2017-07-03 10:06:10

标签: android process

根据documentation,默认情况下,每个Android组件都在同一个进程中运行。因此,当调用startService以在 UI线程中启动intentService时。 intentService实际上在同一个进程中运行,但是另一个名为工作线程的线程,对吗?

如果内存不足,系统可以杀死任何应用程序进程。根据intentService的documentation,它只在一旦用完就停止了。这是否意味着运行IntentService的进程不会被系统杀死?由于它是托管UI线程的相同进程,这是否意味着即使应用程序处于后台,只要应用程序运行了intentService,它就不会被系统杀死?

由于

1 个答案:

答案 0 :(得分:1)

  

intentService实际上在同一进程中运行,但是一个名为worker thread的不同线程,对吗?

Java中的对象不会在线程中“运行”。在线程上调用方法。 onHandleIntent()的{​​{1}}方法在后台线程上调用。

  

这是否意味着运行IntentService的进程不会被系统杀死?

没有

  

因为它是托管UI线程的相同进程

每个进程都有一个称为其主应用程序线程的线程(或者有时称为其UI线程)。线程与进程相关联;整个设备没有单一的神奇“UI线程”。

  

是否意味着即使应用程序处于后台,只要应用程序运行了intentService,它就不会被系统杀死?

没有