媒体播放造成的电池消耗有多重要?
避免不必要的电池消耗是开发高性能 Android 应用的重要方面。媒体播放可能是电池消耗的主要原因,但其对于特定应用的重要性很大程度上取决于其使用模式。如果一个应用每天只播放少量媒体,那么相应的电池消耗只占设备总消耗的很小一部分。在这种情况下,在选择使用哪个播放器时,优先考虑功能集和可靠性而非电池优化是合理的。另一方面,如果一个应用经常用于每天播放大量媒体,那么在多个可行选项之间选择时,应更重视电池消耗优化。
ExoPlayer 的能效如何?
Android 设备和媒体内容生态系统的多样性意味着很难就 ExoPlayer 的电池消耗做出广泛适用的陈述。性能因硬件、Android 版本和播放的媒体而异。因此,以下信息仅应作为指导。
视频播放
对于视频播放,视频流的显示和解码是播放过程中消耗大部分电力的原因。
选择用于输出的 SurfaceView
和 TextureView
会对功耗产生显著影响。SurfaceView
更节能,而 TextureView
在某些设备上可能会使视频播放期间的总功耗增加高达 30%。因此,在可能的情况下,应优先选择 SurfaceView
。如需了解有关选择 SurfaceView
和 TextureView
的更多信息,请参阅 Surface 页面。
在某些电视上,使用视频隧道模式可以为常规播放路径性能不足以实现流畅播放的高分辨率视频提供更高效的播放路径。
音频播放
对于短时音频播放或屏幕开启时的播放,音频对功耗没有显著影响。
对于屏幕关闭时的长时间播放,可以通过使用 ExoPlayer 的音频卸载模式来节省电量。有关如何启用此模式的更多详细信息,请参阅轨道选择指南
。