首页 > 其他分享 >uniapp 清除缓存

uniapp 清除缓存

时间:2024-05-01 20:22:05浏览次数:24  
标签:uniapp sizeCache 缓存 console log 清除 let plus android

//清除所有数据
            clearAppUserData() {
                plus.android.importClass("android.app.ActivityManager");
                var Context = plus.android.importClass("android.content.Context");
                var am = plus.android.runtimeMainActivity().getSystemService(Context.ACTIVITY_SERVICE);
                am.clearApplicationUserData();
            },

            // 计算缓存
            getStorageSize() {
                console.log(123)
                let that = this;
                plus.cache.calculate(function(size) {
                    console.log(456)
                    let sizeCache = parseInt(size);
                    if (sizeCache == 0) {
                        that.fileSizeString = "0B";
                    } else if (sizeCache < 1024) {
                        that.fileSizeString = sizeCache + "B";
                    } else if (sizeCache < 1048576) {
                        that.fileSizeString = (sizeCache / 1024).toFixed(2) + "K";
                    } else if (sizeCache < 1073741824) {
                        that.fileSizeString = (sizeCache / 1048576).toFixed(2) + "M";
                    } else {
                        that.fileSizeString = (sizeCache / 1073741824).toFixed(2) + "G";
                    }
                    console.log('========', that.fileSizeString)
                });
            },
            //清除缓存
            clearCache() {
                console.log(123)
                let that = this;
                let os = plus.os.name;
                if (os == 'Android') {
                    let main = plus.android.runtimeMainActivity();
                    let sdRoot = main.getCacheDir();
                    let files = plus.android.invoke(sdRoot, "listFiles");
                    console.log('files', files)
                    let len = files.length;
                    for (let i = 0; i < len; i++) {
                        let filePath = '' + files[i]; // 没有找到合适的方法获取路径,这样写可以转成文件路径  
                        plus.io.resolveLocalFileSystemURL(filePath, function(entry) {
                            if (entry.isDirectory) {
                                entry.removeRecursively(function(entry) { //递归删除其下的所有文件及子目录  
                                    uni.showToast({
                                        title: 'Android缓存清理完成',
                                        duration: 3000
                                    });
                                    that.formatSize(); // 重新计算缓存  
                                }, function(e) {
                                    console.log(e.message)
                                });
                            } else {
                                entry.remove();
                            }
                        }, function(e) {
                            console.log('文件路径读取失败')
                        });
                    }
                } else { // ios  
                    plus.cache.clear(function() {
                        uni.showToast({
                            title: 'H5缓存清理完成',
                            duration: 2000
                        });
                        that.formatSize();
                    });
                }
            },

 

标签:uniapp,sizeCache,缓存,console,log,清除,let,plus,android
From: https://www.cnblogs.com/ucdos/p/18169612

相关文章

  • 缓存中的这7个坑,我把坑惨了!!!
    前言缓存在我们日常工作中,经常会使用,但如果用不好坑也挺多的。这篇文章总结了我工作中使用缓存遇到过的7个坑,还是非常有参考价值得,希望对你会有所帮助。1缓存穿透大部分情况下,加缓存的目的是:为了减轻数据库的压力,提升系统的性能。一般情况下,如果有用户请求过来,先查缓存,如果......
  • Redis 缓存/分布式锁/消息队列的应用
    缓存缓存是最常见的的应用类型,因为同等配置下,如果一台MySQL能支持上千的QPS,那么一台redis支持的QPS能达到上万,十倍于MySQL。客户端将热点数据存储在redis中,优先从redis读取数据,可以减轻数据库的访问压力。但将redis作为缓存,也存在一些问题,例如数据不一致。数据不一致场景:redis......
  • Unity游戏框架设计之缓存池管理器
    Unity游戏框架设计之缓存池管理器简单介绍在游戏运行的过程中,我们可能遇到这样的需求,即创建大量相同类型的敌人。在传统方法中,我们将对每一个敌人都重新创建,但这样是效率低且占据内存的。为此我们可以这样做,所有敌人在创建时,都从敌人缓存池中取出敌人对象,当敌人死亡时,则将敌人......
  • 同源页面监听缓存改变页面
    onActivated(()=>{this.searchRecordList.value=localStorage.getItem('searchRecord')?JSON.parse(localStorage.getItem('searchRecord')asstring):[];this.getList();window.addEventListener('storage&#......
  • 当Surveymonkey报错Request Header Fields Too Large时需要清理Edge浏览器缓存
     第一步:点击浏览器左上角的...第二步:依次进入Cookie和网站权限---管理和删除Cookie和站点数据。第三步:点击查看所有Cookie和站点数据。第四步:点击全部删除。第五步:清除站点Cooke数据。......
  • uniapp将图片base64绘制到画布中
     html<viewclass="content"><canvascanvas-id="myCanvas"style="width:300px;height:300px;"></canvas></view> js//获取图片的完整base64this.qrurl=res.data......
  • Mybatis二级缓存使用
     一、应用场景例如首页数据加载很慢,但是首页相关数据变动很小。即可以使用二级缓存 二、此处以springboot项目为例在yml配置文件新增 三、查询数据的类对象需要序列化不然会报错 四、在对应的xml文件中加入</cache>开启二级缓存 ......
  • 缓存击穿,缓存穿透,缓存雪崩
    缓存击穿:是指缓存中没有但是数据库中有的数据(一般是缓存时间到期),这时由于并发用户特别多,同时读取缓存没有读到数据,又同时去数据库中取数据,引起数据库压力瞬间增大,造成过大压力。和缓存雪崩不同的是,缓存击穿指并发查询同一条数据,缓存雪崩是不同数据都过期了,很多数据都查询不到,从......
  • uniapp中导航栏的返回按钮使用 autoBackButton:false不生效
    uni-appH5端修改pages.json"autoBackButton":false不生效pages.json中配置autoBackButton是不生效的,因为这个属性只支持程序方面,H5不支持这个属性的设置 解决方法:在 mounted 这添加如下一句就好了,意思是在页面渲染完成后,找到返回按钮,把它隐藏 ......
  • uniapp+vue3聊天室|uni-app+vite4+uv-ui跨端仿微信app聊天语音/朋友圈
    原创研发uniapp+vue3+pinia2跨三端仿微信app聊天模板Uniapp-Wechat。uni-vue3-wchat基于uni-app+vue3+pinia2+uni-ui+uv-ui等技术跨端仿制微信App界面聊天项目,支持编译到H5+小程序端+App端。实现编辑框多行消息/emoj混合、长按触摸式仿微信语音面板、图片/视频预览、红包/朋友圈......