电池消耗

媒体播放导致的电池消耗有多重要?

避免不必要的电池消耗是开发高性能 Android 应用的重要方面。媒体播放可能是导致电池电量消耗的主要原因,但是其对特定应用的重要性在很大程度上取决于其使用模式。如果应用每天只用于播放少量媒体,那么相应的电池消耗只占设备总消耗量的一小部分。在这种情况下,在选择使用哪种播放器时,优先考虑功能集和可靠性,而不是优化电池。另一方面,如果应用经常用于每天播放大量媒体,那么在选择多个可行选项时,应更加重视优化电池消耗。

ExoPlayer 的功耗效率如何?

Android 设备和媒体内容生态系统的多样性意味着很难对 ExoPlayer 的电池消耗做出广泛适用的声明。性能会因硬件、Android 版本和播放的媒体而异。因此,以下信息仅供参考。

视频播放

对于视频播放,视频流的显示和解码占播放期间消耗的大部分电量。

SurfaceViewTextureView 之间进行选择会对功耗产生重大影响。 SurfaceView 更节能,而 TextureView 在某些设备上会使视频播放期间的总功耗增加多达 30%。因此,应尽可能优先选择 SurfaceView。有关在 SurfaceViewTextureView 之间进行选择的更多信息,请点击 这里

音频播放

对于短暂的音频播放或屏幕亮起时的播放,音频不会对功耗产生重大影响。

对于屏幕关闭状态下的长时间播放,建议使用 ExoPlayer 的音频卸载模式。音频卸载允许将音频处理从 CPU 卸载到专用的信号处理器。有关如何启用它的更多详细信息,请参阅 轨道选择指南