メディア再生によるバッテリー消費はどの程度重要ですか?
不要なバッテリー消費を回避することは、パフォーマンスの高い Android アプリを開発するうえで重要な要素です。メディア再生はバッテリーを消耗する主な原因となりますが、特定のアプリにとっての重要性は、その使用パターンに大きく依存します。
アプリが毎日少量のメディアを再生するためにのみ使用される場合、対応するバッテリー消費量はデバイスの総消費量のわずかな割合にすぎません。このような場合は、使用するプレーヤーを選択する際に、バッテリーの最適化よりも機能セットと信頼性を優先することをおすすめします。一方、アプリが毎日大量のメディアを再生するために頻繁に使用される場合は、複数の実行可能なオプションから選択する際に、バッテリー消費の最適化をより重視する必要があります。
ExoPlayer の電力効率はどの程度ですか?
Android 搭載デバイスとメディア コンテンツは多種多様であるため、ExoPlayer のバッテリー消費について、広く適用できる記述を行うことは困難です。パフォーマンスは、ハードウェア、Android のバージョン、再生されるメディアによって異なります。したがって、以下の情報はあくまで参考としてご覧ください。
動画の再生
動画再生の場合、動画ストリームの表示とデコードが、再生中に消費される電力の大部分を占めます。
出力に SurfaceView と TextureView のどちらを選択するかは、消費電力に大きな影響を与える可能性があります。SurfaceView は電力効率が高く、TextureView では動画再生中の総消費電力が一部のデバイスで最大 30% 増加します。そのため、可能な場合は SurfaceView を使用することをおすすめします。SurfaceView と TextureView の選択について詳しくは、Surface のページをご覧ください。
一部のテレビでは、動画トンネリングを使用することで、高解像度動画の再生をより効率的に行える場合があります。通常の再生パスでは、スムーズな再生を行うのに十分なパフォーマンスが得られない場合があるためです。
音声再生
短い音声再生や、画面がオンになっているときの再生では、音声が電力に大きな影響を与えることはありません。
画面をオフにした状態で長時間再生する場合は、ExoPlayer のオーディオ オフロード モードを使用することで電力を節約できます。有効にする方法については、track selection guide をご覧ください。