android – 使用IntentService进行MediaPlayer播放

根据需要使用IntentService进行后台MediaPlayer播放是否合理?根据 developer’s guide,IntentService只有在实际工作时才会持续.考虑到每当我想再次播放音轨时重新初始化MediaPlayer所产生的开销,这似乎是一个糟糕的想法……

所以我的问题是:使用这种服务实际产生的开销有多大.它会对系统/应用程序的性能产生可察觉的影响吗?我应该用专用的工作线程来使用我自己的Service实现吗?

解决方法

Is it reasonable to use an IntentService for background MediaPlayer playback on demand?

恕我直言,不,因为你不能用这种方式真正改变曲目.此外,您需要知道轨道何时完成,除非泄漏内存,否则您不能这样做.最后,这意味着Android将终止你的进程,可能在onHandleIntent()结束后几毫秒,这使得一个无用的音乐播放器.

Should I use my own implementation of Service with a dedicated worker thread instead?

您可能不需要线程,因为MediaPlayer已经是异步的.只有你自己做网络I / O或磁盘I / O或其他东西,你才可能需要自己的线程.但拥有服务 – 可能是前台服务 – 是音乐播放器的典型方法.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...