1.一种安卓电视快速切换高清图的方法,其特征在于,该方法包括以下步骤:S1.使用图片加载框架从服务器加载图片,将图片字节码缓存在本地缓存目录下;
S2.计算并设置内存缓存的缓存容量,并将图片字节流缓存在内存缓存中;
S3.图片加载框架在内存中解析图片字节流并生成位图文件;
S4.利用缓存容器在内存中缓存位图文件;以及
S5.使当前可视图片切换至与之相邻的位图文件,ImageView直接读取相邻的位图文件,完成切换。
2.如权利要求1所述的安卓电视快速切换高清图的方法,其特征在于:所述步骤S1还包括防止图片回滚切换造成图片重复加载的步骤,其具体包括以下步骤:使用图片加载框架从服务器加载图片后,对每张图片生成加载标记;
当需要再次加载图片时,读取加载图片的url,构建请求加载服务器图片的Request,并计算Request的哈希值;
遍历本地缓存目录下的图片字节码,读取缓存的图片字节码对应的首选项文件中的标记集合;
使用哈希查找算法对标记集合进行线性探测,若有图片字节码匹配加载图片Request的哈希值,则直接读取对应的本地缓存中保存的图片字节码,如果没有匹配的图片字节码,则访问服务器加载数据库图片资源。
3.如权利要求1所述的安卓电视快速切换高清图的方法,其特征在于:所述步骤S5还包括防止切换图片失败导致的图片区域显示异常的步骤,其具体包括以下步骤:增设预缓存机制,在预缓存中内置计时器并设置计时时间;
释放按键事件;
ImageView读取缓存容器中的缓存,判断计时完成后缓存容器中是否缓存有位图文件,若是,返回缓存的位图文件给ImageView,若否,则截断按键事件,进行缓存重试,直至缓存容器中缓存有位图文件,ImageView重新读取缓存容器中的位图文件。
4.如权利要求1所述的安卓电视快速切换高清图的方法,其特征在于:所述图片加载框架为Glide。
5.如权利要求1所述的安卓电视快速切换高清图的方法,其特征在于,根据LRU算法计算内存缓存的缓存容量,计算公式如下:CLRU=Core*2+1 (1)
若Count
其中,ELRU为二级缓存动态容量,Core为设备CPU核心数,CLRU为LRU算法推荐的缓存容量,Count为图片切换计数值,代表的是非循环模式下图片切换的最大切换次数。
6.如权利要求1所述的安卓电视快速切换高清图的方法,其特征在于:步骤S4中,使用ArrayDeque作为缓存容器在内存中缓存与当前图片相邻的Bitmap。
7.一种存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现上述权利要求1至6中任一项所述方法的步骤。
8.一种设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的计算机程序,其特征在于:所述处理器执行所述计算机程序时实现上述权利要求1至6中任一项所述方法的步骤。
9.一种安卓电视快速切换高清图的系统,其特征在于,包括:加载模块,其用于从服务器加载图片,并将图片字节码缓存在本地缓存目录下;
计算模块,其用于计算并设置内存缓存的缓存容量,并将图片字节流缓存在内存缓存中;
解析模块,其用于在内存中解析图片字节流生成位图文件;以及缓存容器,其用于在内存中缓存位图文件。
10.如权利要求9所述的安卓电视快速切换高清图的系统,其特征在于:所述加载模块为Glide图片加载框架,所述缓存容器为ArrayDeque。