你好,我需要一个MediaPlayer实例在后台运行,所以我开始使用Service。
一切都很顺利,但是过了一段时间后,我收到了ANR(应用程序未响应)的提示,即使UI完美地工作。很清楚,我知道Service仍在主线程上运行,因此ANR是有道理的。
因此,我尝试使用IntentService,它应该生成自己的线程,但我除了头痛什么也没得到。当工人是独立的时,IntentService似乎还不错,但这里不是这种情况,因为每次我需要更改曲目时,我都需要从主应用程序调用startService(intent)方法,而我不想最终得到多个MediaPlayer实例,它们会相互叠加播放。
我还看到一个提示建议在Service内部使用Thread。我该如何使用Media Player?声明应该在那个线程中还是只有“prepare/start等”?从我看到的来看,似乎这样做不起作用,但我可能只是实现错误了。
非常感谢任何提示,最好附带一个非常简单的示例。
谢谢