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

时间:2014-01-18 11:00:05

标签: android android-service android-lifecycle android-memory

如果Service正在不同的进程中运行(通过清单中的“:name”)并带有前景标记。在系统希望释放一些内存的时候..(想象重ui,用户按Home并导航到其他重型应用程序)

  1. 它会杀死这个应用程序释放资源的主要流程吗? (显然保持服务流程完好无损),然后在用户导航回应用程序时重新启动just主流程。

  2. 如果Service将在同一进程中运行,它是否会释放所有资源,例如除前台服务之外的活动?或者整个过程(重ui)在这种情况下会被认为是前景因此消耗大量内存并且对用户手机不好看

  3. P.S

    我理解不保证前台服务。 http://developer.android.com/reference/android/app/Service.html

    我理解即时杀死进程的android设计 (哪种回答第二个问题,但想确定)

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

1 个答案:

答案 0 :(得分:1)

  1. 如果主进程不在前台,则会在需要时将其终止并重新启动。如果需要,前台服务也可能被杀死,但在所有后台进程被杀死之前也不会被杀死。一旦记忆再次出现,前景服务将重新开始。

  2. 是的,它将释放所有资源并尝试让服务保持运行。如果需要终止整个过程,也可能会导致服务中断。只有服务正在运行才会重新启动进程。