7

オンデマンドIntentServiceのバックグラウンド再生にを使用するのは合理的ですか? 開発者ガイドMediaPlayerによると、anは実際に機能している間だけ持続します。トラックをもう一度再生したいときに毎回再初期化することで生じるオーバーヘッドを考えると、それは悪い考えのようです...IntentServiceMediaPlayer

したがって、私の質問は次のとおりです。この種のService. システム/アプリケーションのパフォーマンスに目に見える影響がありますか? Service代わりに専用のワーカー スレッドで独自の実装を使用する必要がありますか?

4

1 に答える 1

12

オンデマンドで MediaPlayer をバックグラウンドで再生するために IntentService を使用することは合理的ですか?

私見、いいえ、この方法で実際にトラックを変更することはできないからです。さらに、トラックがいつ完了するかを知る必要がありますが、この方法では、メモリ リークを除いてそれを行うことはできません。最後に、これは Android がプロセスを終了することを意味し、おそらく終了後数ミリ秒onHandleIntent()で、役に立たない音楽プレーヤーになります。

代わりに、専用のワーカー スレッドを使用して Service の独自の実装を使用する必要がありますか?

MediaPlayerスレッドの多くはすでに非同期であるため、スレッドは必要ない場合があります。ネットワーク I/O やディスク I/O などを独自に行う場合にのみ、独自のスレッドが必要になることがあります。しかしService、おそらく前景を持つことServiceは、音楽プレーヤーの典型的なアプローチです。

于 2013-08-08T12:59:21.720 に答える