我有一个应用程序在屏幕上播放显示歌词的歌曲。通过示例了解Android服务
两种情况:
- 当歌曲是从本地的mp3文件加载。
- 当歌曲是从远程位置通过互联网
我的理解装载的是Android的服务来当歌曲是从远程位置通过互联网传输到抢救。由于涉及的I/O开销,Android服务可以帮助您。在第一种情况下,歌曲从当地位置播放,服务可能是一种矫枉过正。我可以简单地播放加载它的音乐并使用MediaPlayer API播放它。
这种理解是否正确?我错过了什么?
更新:歌曲大小超过10MB。因此,当您通过手机通过慢速互联网进行流式传输时,可能会有一些缓冲区以及更好的用户体验。
在此先感谢。
“这个理解是否正确?” - 不是真的。 “服务可能是一种矫枉过正” - 对于同一首歌曲,两种情况下的I/O数量大致相同。无论您在此情况下使用服务,都会根据用户在音乐播放过程中离开您的用户界面时想要发生的情况而定。 – CommonsWare
@CommonsWare我用文件大小和互联网连接速度作为用例更新了问题。我可以安全地假设,本地播放的文件比需要通过互联网传输的文件要快。 I/O不是真的一样。在通过互联网传输内容时,有几个因素需要考虑? – karthiks
“I/O不完全相同” - 无论歌曲是存储在本地还是流式传输,三分钟的歌曲都需要三分钟。如果歌曲存储在本地,则带宽使用量会减少很多。如果歌曲存储在本地,我猜会有少量的CPU使用率。如果歌曲存储在本地,将会减少电池使用量。无论服务是否相关,都不重要。 – CommonsWare