uniapp計算app緩存與清理緩存


計算緩存

data() {
			return {
				fileSizeString: "", // 緩存總數
			}
		},
                    
// 計算緩存
			formatSize() {
				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) + "KB";
					} else if (sizeCache < 1073741824) {
						that.fileSizeString = (sizeCache / 1048576).toFixed(2) + "MB";
					} else {
						that.fileSizeString = (sizeCache / 1073741824).toFixed(2) + "GB";
					}
				});
			},
			// 清理緩存
			clearCache() {
				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.formatSize(); // 重新計算緩存  
								}, 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.formatSize();
					});
				}
			},

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM