首页 > 建站教程 > APP开发,混合APP >  apicloud图片缓存的使用和查看清除缓存正文

apicloud图片缓存的使用和查看清除缓存

一、缓存列表图片
01//循环数据的时候加载执行一个缓存图片的函数
02<script type="text/x-dot-template" id="listT">
03 
04{{ for (var i = 0; i < it.length; i++) { }}
05    <img class="aui-img-object aui-pull-left" onload="fnLoadImage(this)"  data-url="{{=it[i].smeta}}" src="../image/demo.png">
06 
07{{ }; }}
08</script>
09 
10//执行的函数
11function fnLoadImage(ele_) {
12    var imageURL = $api.attr(ele_, 'data-url');
13    if (imageURL) {
14        api.imageCache({
15            url : imageURL
16        }, function(ret, err) {
17            if (ret.status) {
18                ele_.src = ret.url;
19                $api.removeAttr(ele_, 'data_url');
20            }
21        });
22    }
23}
二、读取缓存和清除函数
01//模板文件
02<ul class="aui-list-view">
03  <li class="aui-list-view-cell" tapmode onclick="fnClearCache()">
04      <a class="aui-arrow-right">
05       清除缓存
06      <span class="aui-badge aui-badge-danger" id='cacheSize'></span>
07       </a>
08  </li>
09</ul>
10 
11//获取缓存方法
12function fnGetCacheSize(){
13            api.getCacheSize(function(ret){
14                var size = parseInt(ret.size / 1024 / 1024 * 100) / 100 + ' MB';
15                var cacheSize=$api.byId('cacheSize');
16                cacheSize.innerHTML=size;
17            });
18}
19 
20//清除缓存方法
21function fnClearCache(){
22            api.showProgress({
23                title: '清除缓存中...',
24            });
25 
26            api.clearCache(function(){
27                setTimeout(function(){
28                    api.hideProgress();
29                    fnGetCacheSize();
30                },500)
31            });
32}
三、监听缓存的实时改变
1//在frameGroup的回调方法中 监听缓存实时改变
2if(ret.index == 3){
3    var jsfun = 'fnGetCacheSize();';
4    api.execScript({
5    frameName: 'frame3',
6    script: jsfun
7    });
8}