小程序
小游戏
企业微信
微信支付
扫描小程序码分享
wx.setStorage缓存的数据 和 在app.js中设置的全局数据 , 这两个的生命周期都是一样的吗? 是否可以认为这两中数据缓存效果完全一致呢?
1 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
1.全局变量应该是用户进入后台一定时间或者说系统资源占用过高会被主动销毁。
参考:当用户点击左上角关闭,或者按了设备 Home 键离开微信,小程序并没有直接销毁,而是进入了后台;当再次进入微信或再次打开小程序,又会从后台进入前台。
只有当小程序进入后台一定时间,或者系统资源占用过高,才会被真正的销毁。
2.而wx.setStorage会在你主动删除小程序或者说其他缓存过大(小程序或者微信缓存)时会被微信清空。
两个缓存效果肯定是不一样的,如果想长期缓存肯定是用后者,但是由于其他缓存过大也会被清空,所以重要数据肯定也是不能放在storage里面的
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
这句话让我有点迷惑, 他说 setStorage超过一定时间也是会被清理的.. 而且生命周期和小程序一样! 那不就是和 app全局数据一样吗?
我觉得还是有一些不一样的,app全局数据应该是读内存的(猜测),setStorage()应该是localStorage的机制,就像存在本地数据库一样,是读文件的,所以相比较全局数据读取更快一些。
一个是全部页面可以使用的东西,一个类似于数据库。比如登录你要所有页面都判断登录态那么你可以使用全局变量,但比如你页面需要缓存一些数据,下次不用从后台接口得到,那么就使用缓存。
(可能不准确,但是具体他们实现机制是怎么样的,这个只有官方知道了)
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
1.全局变量应该是用户进入后台一定时间或者说系统资源占用过高会被主动销毁。
参考:当用户点击左上角关闭,或者按了设备 Home 键离开微信,小程序并没有直接销毁,而是进入了后台;当再次进入微信或再次打开小程序,又会从后台进入前台。
只有当小程序进入后台一定时间,或者系统资源占用过高,才会被真正的销毁。
2.而wx.setStorage会在你主动删除小程序或者说其他缓存过大(小程序或者微信缓存)时会被微信清空。
两个缓存效果肯定是不一样的,如果想长期缓存肯定是用后者,但是由于其他缓存过大也会被清空,所以重要数据肯定也是不能放在storage里面的
这句话让我有点迷惑, 他说 setStorage超过一定时间也是会被清理的.. 而且生命周期和小程序一样! 那不就是和 app全局数据一样吗?
我觉得还是有一些不一样的,app全局数据应该是读内存的(猜测),setStorage()应该是localStorage的机制,就像存在本地数据库一样,是读文件的,所以相比较全局数据读取更快一些。
一个是全部页面可以使用的东西,一个类似于数据库。比如登录你要所有页面都判断登录态那么你可以使用全局变量,但比如你页面需要缓存一些数据,下次不用从后台接口得到,那么就使用缓存。
(可能不准确,但是具体他们实现机制是怎么样的,这个只有官方知道了)