在阅读了几个小时后,我对于Android应用程序中Activity和Foreground服务如何共存有点不清楚。
以音乐播放器应用为例 -
我创建了一个用于显示音乐播放器的UI和控件的Activity,音乐播放器开始进入Foreground服务。根据我读过的文章。
基于此 -
服务在其托管进程的主线程中运行 - 该服务不会创建自己的线程,也不会在单独的进程中运行(除非您另行指定)。这意味着,如果您的服务要进行任何CPU密集型工作或阻止操作(例如MP3播放或网络),您应该在服务中创建一个新线程来完成这项工作。
所以,现在,在这个时候,如果我必须在我的Activity中对UI执行任何操作,为什么我不会看到ANR或任何其他类型的迟缓,因为音乐和用户操作都发生在UI线程上?