Android VideoCache视频缓存的方法详解
AndroidVideoCache视频缓存的方法详解
项目中遇到视频播放,需要加载网络url,不可能每次都进行网络加载,当然了,就需要用到我们的缓存机制
AndroidVideoCache
AndroidVideoCache是一个视频/音频缓存库,利用本地代理实现了边下边播,使用起来非常简单。
HttpProxyCacheServer是主要类,是一个代理服务器,可以配置缓存文件的数量、缓存文件的大小、缓存文件的目录和缓存文件命名算法,文件缓存均基于LRU算法,利用Builder来配置:
//配置缓存目录 publicBuildercacheDirectory(Filefile); //配置缓存文件命名规则 publicBuilderfileNameGenerator(FileNameGeneratorfileNameGenerator); //配置缓存文件大小 publicBuildermaxCacheSize(longmaxSize); //配置缓存文件数量 publicBuildermaxCacheFilesCount(intcount);
建议以单列模式将HttpProxyCacheServer存放于Application中:
publicclassAppextendsApplication{ privateHttpProxyCacheServerproxy; publicstaticHttpProxyCacheServergetProxy(Contextcontext){ Appapp=(App)context.getApplicationContext(); returnapp.proxy==null?(app.proxy=app.newProxy()):app.proxy; } privateHttpProxyCacheServernewProxy(){ returnnewHttpProxyCacheServer(this); } }
调用十分方便,只需要增加一行代码:
@Override protectedvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); HttpProxyCacheServerproxy=getProxy(); StringproxyUrl=proxy.getProxyUrl(VIDEO_URL); videoView.setVideoPath(proxyUrl); } privateHttpProxyCacheServergetProxy(){ returnApp.getProxy(getApplicationContext()); }
最后视频加载的时候需要判断是否缓存,做一些比如缓冲进度条的隐藏等操作
以上就是AndroidVideoCache的使用方法详解,本站关于Android开发的文章还有很多,希望大家搜索查阅,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!