收藏
评论

小程序存储详解官方

本地文件分为三种:

  1. 本地临时文件:临时产生,随时会被回收的文件。通过调用特定接口产生,运行时最多存储 4GB,结束运行后,如果已使用超过 2GB,会以文件为维度按照最近使用时间从远到近进行清理至少于2GB。
  2. 本地缓存文件:小程序通过接口把本地临时文件缓存后产生的文件,通过调用特定接口产生,不能自定义目录和文件名。跟本地用户文件共计,小程序(含小游戏)最多可存储 200MB。
  3. 本地用户文件:小程序通过接口把本地临时文件缓存后产生的文件,允许自定义目录和文件名。跟本地缓存文件共计,小程序(含小游戏)最多可存储 200MB。

tips:

  1. 本地用户文件最多可存储200M,如果存储超过200M后,继续存储文件会失败,平台不会自动清理,只有在代码包被清理的时会被清理。
  2. 本地临时文件在退出小程序后随时可能会被清理掉,建议不要过度依赖,也不需要主动清理。
  3. 版本更新不会清理文件。

小程序storage 

  1. 同一个微信用户,同一个小程序 storage 上限为 10MB。storage 以用户维度隔离,同一台设备上,A 用户无法读取到 B 用户的数据;不同小程序之间也无法互相读写数据。
  2. 小程序体验版和线上版本共用一套storage,保证体验版和线上版本所有逻辑的一致,如果两者有产品或者技术逻辑上的不一致,有可能体验时候是好的,发布以后出现问题.
  3. 小程序的storage是持久化的,没有定期清理的策略。小程序被销毁,切换微信号,也不会影响storage。
  4. 用户主动删除小程序,微信设置页清理缓存, 系统清缓存等操作会导致storage被清理,包括用户文件。


参考文档:https://developers.weixin.qq.com/miniprogram/dev/framework/ability/file-system.html




5288浏览
最后一次编辑于  09-11
知识库内容非实时更新,可能已过期、失效或不适用于当前情形,请谨慎参考
收藏
反馈

1 个评论

  • 行走的力量
    行走的力量
    12-01
    1. 华为和荣耀手机,会自动清理wx.getFileSystemManager()保存的文件,100%复现。
    2. wx.setStorage保存的内容不受影响。
    3. 我们尝试了更换后缀名,text,json,lib,jpg,png,等等后缀名,依然被删除。
    4. 根据我们的最终测试,关闭华为和荣耀的 垃圾自动清理功能,100%不再删除。

    最终导致删除文件原因是华为和荣耀的自动清理机制。但没有自动清理wx.setStorage,说明微信是可以解决问题的。

    希望官方重视这一块。


    12-01
    赞同
    回复
登录 后发表内容