媒体播放导致的电池耗电量有多重要?
避免不必要的电池耗电是开发高性能 Android 应用的重要方面。媒体播放可能是耗电的主要原因,但对于特定应用而言,其重要性在很大程度上取决于其使用模式。如果应用每天只播放少量媒体,则相应的电池耗电量只占设备总耗电量的一小部分。在这种情况下,选择要使用的播放器时,优先考虑功能集和可靠性,而不是优化电池续航时间。另一方面,如果某个应用经常用于每天播放大量媒体内容,那么在选择多种可行方案时,应更侧重于针对电池用量进行优化。
ExoPlayer 的电源效率如何?
由于 Android 设备和媒体内容生态系统的多样性,因此很难对 ExoPlayer 的电池用量做出广泛适用的声明。性能因硬件、Android 版本和播放的媒体而异。因此,以下信息仅供参考。
视频播放
对于视频播放,视频流的显示和解码占据了播放期间的大部分电量。
在输出方面,选择 SurfaceView
或 TextureView
可能会对功耗产生重大影响。SurfaceView
的功耗更低,在某些设备上,TextureView
会使视频播放期间的总功耗增加高达 30%。因此,请尽可能使用 SurfaceView
。如需详细了解如何在 SurfaceView
和 TextureView
之间进行选择,请参阅“Surface”页面。
音频播放
对于短时音频播放或屏幕开启时的播放,音频对功耗没有明显影响。
对于屏幕关闭时的长时间播放,建议使用 ExoPlayer 的音频分流模式。借助音频分流,您可以将音频处理从 CPU 分流到专用信号处理器。如需详细了解如何启用此功能,请参阅 track selection guide
。