Android 内存不足时前台服务(不同进程/同一进程)的行为方式

And*_*cko 5 android android-service android-lifecycle android-memory

如果Service在不同的进程中运行(通过:name清单内的 \xe2\x80\x9c \xe2\x80\x9d)并带有前台标志。当系统想要释放一些内存时..(想象一下繁重的用户界面,用户按主页并导航到其他繁重的应用程序)

\n\n
    \n
  1. 它会仅杀死该应用程序的主进程以释放资源吗?(显然保持服务进程完好无损),然后just当用户导航回应用程序时重新启动主进程。

  2. \n
  3. 如果Service运行在同一个进程中,它会释放除前台服务之外的所有资源(例如活动)吗?或者在这种情况下整个进程(带有大量用户界面)将被视为前台,因此消耗大量内存并且对用户手机不利

  4. \n
\n\n

聚苯乙烯

\n\n

据我所知,对前台服务没有任何保证。\n http://developer.android.com/reference/android/app/Service.html

\n\n

我了解立即杀死进程的android设计\n(这回答了第二个问题,但想确定)

\n\n

http://android-developers.blogspot.com/2010/04/multitasking-android-way.html

\n

A.J*_*.J. 1

  1. 如果主进程不在前台,它将被杀死并在需要时重新启动。如果需要,前台服务也可以被终止,但不是在所有后台进程被终止之前。一旦内存再次可用,前台服务将重新启动。

  2. 是的,它将释放所有资源并尝试使服务保持运行。如果需要终止整个进程,服务也可能被终止。进程将重新启动,仅运行服务。