【uniapp 获取缓存及清除缓存】

这篇具有很好参考价值的文章主要介绍了【uniapp 获取缓存及清除缓存】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

小程序及H5

获取缓存:
使用uniapp中的wx.getStorageInfoSync()方法可以获取当前小程序或H5应用的本地缓存信息,如下所示:

let storageInfo = uni.getStorageInfoSync()
console.log(storageInfo)

其中,storageInfo是一个对象,包含以下属性:

  • keys:Array,存储当前缓存中所有的key(即缓存的键值对中的key);
  • currentSize:Number,当前缓存数据的大小,单位为KB;
  • limitSize:Number,当前缓存允许的最大数据大小,单位为KB。

清除缓存:
使用uniapp中的wx.clearStorageSync()方法可以清除当前小程序或H5应用的本地缓存,如下所示:

uni.clearStorageSync()

注意:

  • 这个方法将清除所有的本地缓存,因此请谨慎使用;
  • 如果只想清除特定的缓存,可以使用wx.removeStorageSync()方法来移除指定的缓存。

APP

获取缓存:

// 获取缓存
			getAppInfo() {
				// #ifdef APP-PLUS
				let self = this;
				plus.cache.calculate(size => {
					if (size < 1024) {
						self.cacheSize = size + 'B';
					} else if (size / 1024 >= 1 && size / 1024 / 1024 < 1) {
						self.cacheSize = Math.floor((size / 1024) * 100) / 100 + 'KB';
					} else if (size / 1024 / 1024 >= 1) {
						self.cacheSize = Math.floor((size / 1024 / 1024) * 100) / 100 + 'M';
					}
				});
				// #endif
			},

清除缓存:文章来源地址https://www.toymoban.com/news/detail-617387.html

//清除缓存
			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) { //递归删除其下的所有文件及子目录  	
									that.getAppInfo(); // 重新计算缓存
								}, function(e) {
									console.log(e.message)
								});
							} else {
								entry.remove();
							}
						}, function(e) {
							console.log('文件路径读取失败')
						});
					}
					uni.showToast({
						title: '缓存清理完成',
						duration: 2000
					});

				} else { // ios  
					plus.cache.clear(function() {
						uni.showToast({
							title: '缓存清理完成',
							duration: 2000
						});
						that.getAppInfo();
					});
				}
			},

到了这里,关于【uniapp 获取缓存及清除缓存】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包