当前位置:   article > 正文

uniapp中在app中清除缓存功能

uniapp中在app中清除缓存功能

1.计算缓存大小
 

  1. //计算缓存大小
  2. getStorageSize() {
  3. let that = this;
  4. let fileSizeString = "";
  5. let isFlag = arrIndex(this.menuList, 'key', 'my-ql')
  6. plus.cache.calculate(function(size) {
  7. let sizeCache = parseInt(size);
  8. if (sizeCache == 0) {
  9. fileSizeString = "0B";
  10. } else if (sizeCache < 1024) {
  11. fileSizeString = sizeCache + "B";
  12. } else if (sizeCache < 1048576) {
  13. fileSizeString = (sizeCache / 1024).toFixed(2) + "K";
  14. } else if (sizeCache < 1073741824) {
  15. fileSizeString = (sizeCache / 1048576).toFixed(2) + "M";
  16. } else {
  17. fileSizeString = (sizeCache / 1073741824).toFixed(2) + "G";
  18. }
  19. //本地缓存赋值
  20. that.menuList[isFlag[0]][isFlag[1]].text = fileSizeString
  21. });
  22. },

2.清除缓存
 

  1. // 清理缓存
  2. clearStorageAll() {
  3. let that = this;
  4. let os = plus.os.name;
  5. if (os == 'Android') {
  6. let main = plus.android.runtimeMainActivity();
  7. let sdRoot = main.getCacheDir();
  8. let files = plus.android.invoke(sdRoot, "listFiles");
  9. let len = files.length;
  10. for (let i = 0; i < len; i++) {
  11. let filePath = '' + files[i]; // 没有找到合适的方法获取路径,这样写可以转成文件路径
  12. plus.io.resolveLocalFileSystemURL(filePath, function(entry) {
  13. if (entry.isDirectory) {
  14. entry.removeRecursively(function(entry) { //递归删除其下的所有文件及子目录
  15. uni.showToast({
  16. title: '缓存清理完成',
  17. duration: 2000
  18. });
  19. that.getStorageSize(); // 重新计算缓存
  20. }, function(e) {
  21. console.log(e.message)
  22. });
  23. } else {
  24. entry.remove();
  25. }
  26. }, function(e) {
  27. console.log('文件路径读取失败')
  28. });
  29. }
  30. } else { // ios
  31. plus.cache.clear(function() {
  32. uni.showToast({
  33. title: '缓存清理完成',
  34. duration: 2000
  35. });
  36. that.getStorageSize();
  37. });
  38. }
  39. },

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/140975
推荐阅读
相关标签
  

闽ICP备14008679号