uniapp 清理缓存
时间: 2023-09-30 20:12:58 浏览: 275
uniapp 清理缓存的方法是通过调用clearCache()函数来实现的。该函数先判断设备的操作系统类型,如果是Android系统,则通过获取缓存目录,递归删除其中的所有文件和子目录来清理缓存;如果是iOS系统,则直接调用plus.cache.clear()函数清理缓存。另外,清理缓存的过程中还会调用formatSize()函数来重新计算缓存大小并显示。
相关问题
uniapp清理页面缓存
要清理uniapp页面缓存,可以按照以下步骤进行操作:
1. 在HTML部分,添加一个触发清理缓存操作的按钮:
```html
<view class="li" @click="clearStorage">清理缓存 <text class="current-size">{{currentSize}}</text> <uni-icons type="arrowright" size="18" color="#ddd" class="fr"></uni-icons></view>
```
2. 在script的js部分,定义清理缓存相关的方法和获取缓存大小的方法:
```javascript
data() {
return {
storageSize: '0M',
}
},
onLoad() {
this.getStorageSize() //获取缓存
},
methods: {
//获取app的缓存大小
getStorageSize: function () {
let that = this;
uni.getStorageInfo({
success(res) {
let size = res.currentSize;
if (size < 1024) {
that.storageSize = size + ' B';
} else if (size / 1024 >= 1 && size / 1024 / 1024 < 1) {
that.storageSize = Math.floor(size / 1024 * 100) / 100 + ' KB';
} else if (size / 1024 / 1024 >= 1) {
that.storageSize = Math.floor(size / 1024 / 1024 * 100) / 100 + ' M'; }
}
})
},
//删除缓存
clearStorage: function () {
let that = this;
uni.showModal({
title: '提示',
content: '确定清除缓存吗?',
confirmText: '立即清除',
success(res) {
if (res.confirm) {
uni.clearStorageSync();
that.getStorageSize(); //重新获取并显示清除后的缓存大小
uni.showToast({
title: '清除成功',
icon: 'none'
})
//清除完后跳到登录页面
setTimeout(() => {
uni.redirectTo({
url: '/pages/login/login',
animationType: 'pop-in',
animationDuration: 200
})
}, 1300)
}
}
})
},
}
```
3. 在组件里添加一个触发清理缓存的事件:
```html
<view class="row" @click="clearStorage">
<view class="title">清除缓存</view>
<view class="right">
<view class="tis tell">{{storageSize}}</view>
<uni-icons type="arrowright" color="#C9C9C9" size="20"></uni-icons>
</view>
</view>
```
uniapp本地缓存
UniApp本地缓存是指在网络通畅情况下,将从服务器收到的资源保存到本地,并在网络断开或没有连接的情况下直接读取本地文件中的数据,以提供更好的用户体验。通过使用本地缓存技术,可以对一些需要频繁调用的数据进行缓存,以提高应用的运行效率和用户体验。然而,需要注意控制缓存数据量和缓存时间,以避免占用过多的手机存储空间和内存资源,从而影响应用的性能和用户体验。在UniApp中,可以使用uni.setStorage和uni.getStorage来进行本地缓存操作。在H5端,使用localstorage进行缓存,但其大小只有5M,超过会被清理;而在App端,则使用持久化的plus.storage进行缓存操作,不会被当做缓存清理。此外,还可以使用plus.io进行离线缓存,但需要了解IO系统的详细API,以了解文件是否能够正常缓存到设备目录中。另外,还可以使用plus.sqlite进行本地数据库缓存,但需要具备SQL语句语法的知识,知道如何创建数据库和表,并通过数据库在本地进行数据的查询。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [Uniapp的APP端实现本地离线缓存](https://blog.csdn.net/weixin_46820017/article/details/126728907)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* [uniapp缓存方式](https://blog.csdn.net/m0_59910554/article/details/130522020)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文