媒体播放导致的电池消耗有多重要?
避免不必要的电池消耗是开发高性能 Android 应用的重要方面。媒体播放可能是电池电量消耗的主要原因,但是其对特定应用的重要性很大程度上取决于其使用模式。如果一个应用每天只用于播放少量媒体,那么相应的电池消耗仅占设备总消耗的一小部分。在这种情况下,在选择使用哪个播放器时,优先考虑功能集和可靠性而不是电池优化是有意义的。另一方面,如果一个应用经常每天用于播放大量媒体,那么在多个可行选项之间进行选择时,应更加重视电池消耗优化。
ExoPlayer 的能效如何?
Android设备和媒体内容生态系统的多样性使得难以对ExoPlayer的电池消耗做出广泛适用的陈述。性能会因硬件、Android版本和正在播放的媒体而异。因此,以下信息仅供参考。
视频播放
对于视频播放,显示和解码视频流占播放过程中大部分功耗。
选择SurfaceView
和TextureView
作为输出会对功耗产生重大影响。SurfaceView
更省电,而TextureView
在某些设备上会使视频播放过程中的总功耗增加多达30%。因此,应尽可能优先选择SurfaceView
。更多关于SurfaceView
和TextureView
之间选择的信息,请点击此处。
音频播放
对于短音频播放或屏幕开启时的播放,音频对功耗的影响不大。
对于屏幕关闭时的长时间播放,建议使用ExoPlayer的音频卸载模式。音频卸载允许将音频处理从CPU卸载到专用信号处理器。有关如何启用它的更多详细信息,请参阅音轨选择指南
。