我正在尝试创建一个简单的Android应用程序,从SD卡播放音频文件。
我在理解服务方面遇到了一些问题。
具体来说,这是我的问题。
- 默认情况下,服务在UI线程上运行,对吗?只有在它运行在单独的进程中时,它才有另一个线程,以及上下文,因为它是系统中的另一个进程(虚拟机实例的分支)
MediaPlayer
类应该在哪里使用?在后台服务还是在UI线程中。由于绑定服务在UI线程上运行,如果它在UI线程上运行,那么创建服务绑定等就没有意义了?只有在我们想要在后台继续播放音乐而活动(或任何UI组件被销毁)时,但在这种情况下,MusicPlayer将占用整个UI线程,即使用户看不到UI。我是对的吗?- 我已经找到了大量关于如何创建简单音频播放器的教程,其中几个展示了如何直接从服务中的单独线程运行,其他人则直接在活动中使用
IBinder
类从服务中运行,该类仅返回服务的实例。
请解释这个主题。 我将非常感谢任何帮助。 谢谢。