在播放音视频时,如何开启 Android Media3 ExoPlayer 缓存,请参考笔者另外一篇文章:
Android Media3 Exoplayer 开启缓存功能
笔者在设置 ExoPlayer 的缓存大小时,遇到一个非常奇怪的问题,例如,设置最大缓存为 5G:
//5G cache (单位:byte)
long maxCacheSize = 5 * 1024 * 1024 * 1024;
如果你能一眼看出这行代码的问题,说明读者非常心细且基础知识是比较扎实的。^_^
这么设置以后,会出现什么问题呢?每次当缓存大小达到在 1G 多一点,就无法再增加了,总是在一个数值附近上下浮动。但是缓存大小设置为 1G(1 * 1024 * 1024 * 1024)不会有问题。
然后又尝试其他几个缓存数值:
//2G cache
long maxCacheSize = 2 * 1024 * 1024 * 1024;
//3G cache
long maxCacheSize = 3 * 1024 * 1024 * 1024;
//4G cache
long maxCacheSize = 4 * 1024 * 1024 * 1024;
按上面方式设置后,客户端播放不同视频来进行测试,以便客户端存储更多的缓存,但是从“缓存的文件夹”获取的“全部缓存文件总的大小”

文章讲述了在使用AndroidMedia3ExoPlayer时,设置大缓存大小遇到的问题,由于Java数值类型限制导致溢出。解决方法是在大数值后添加L标识为long类型。开发者需注意此类隐藏陷阱以确保缓存功能正常工作。

8191

被折叠的 条评论
为什么被折叠?



