美文网首页美文共赏
uni-app 获取和清除缓存

uni-app 获取和清除缓存

作者: 赵哥窟 | 来源:发表于2021-12-02 14:24 被阅读0次
    data() {
        return {
          fileSizeString: "", // 缓存总数
        }
      },
    
     methods: {
          // 计算缓存
        getStorageSize() {
          console.log(123)
          let that = this;
          plus.cache.calculate(function(size) {
            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";
            }
          });
        },
        // 清理缓存
        clearStorage() {
          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");
            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: '缓存清理完成',
                      duration: 2000
                    });
                    that.getStorageSize(); // 重新计算缓存
                  }, function(e) {
                    console.log(e.message)
                  });
                } else {
                  entry.remove();
                }
              }, function(e) {
                console.log('文件路径读取失败')
              });
            }
          } else { // ios
            plus.cache.clear(function() {
              uni.showToast({
                title: '缓存清理完成',
                duration: 2000
              });
              that.getStorageSize();
            });
          }
        },
    }
    

    相关文章

      网友评论

        本文标题:uni-app 获取和清除缓存

        本文链接:https://www.haomeiwen.com/subject/nqiyxrtx.html