在不同的流程中运行服务有什么好处?

时间:2018-02-13 11:24:18

标签: android android-service foreground-service

我看到很少有音乐应用在应用程序处于后台时使用前台服务运行。除此之外,服务是在单独的流程中启动的吗?

我无法理解我们何时需要采用这种设计?我们将以这种方式获得的优势是什么?

1 个答案:

答案 0 :(得分:0)

来自Going multiprocess on Android

  操作系统会不同地处理运行不同组件的

进程。这意味着,在系统可用内存不足的情况下,并非所有内存都被杀死。考虑一下:你的音乐播放器在后台运行,音乐正在播放;突然,系统需要释放一些内存(因为Facebook,这就是原因)。由于播放音乐的服务在另一个进程上运行,因此操作系统极有可能首先杀死主进程(主要运行应用程序用户界面),让音乐在另一个进程中播放。   这对最终用户来说也很好看!因为每个应用程序的进程在应用程序管理器的RAM使用情况屏幕中都有自己的条目,并且可能会有一个或多个进程出现在“缓存”部分(这意味着它们处于非活动状态)。