收藏
回答

navigateBack为什么会将当前页面从缓存中删除,设计初衷是什么

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug navigateBack 微信iOS客户端 6.5.3 2.0.0

wx.navigateTo的是会将当前页面加入到缓存队列里面,比如缓存页面有A、B,当从A navigateBack到B的时候,A会从缓存中删除,为什么要这样设计?这样就达不到AB来回切换的时候,实现无刷新效果了。

回答关注问题邀请回答
收藏

2 个回答

  • 耿霄
    耿霄
    2021-03-06

    因为小程序路由栈最多是10级,不删除的话,路由栈的内存数据无法得到释放,是因为内存泄漏和性能问题。

    设计就是这样的

    2021-03-06
    有用 1
    回复 2
    • 2021-03-23
      我觉得更好的方式是能够让开发者配置哪些页面可以进行缓存,这样就灵活很多
      2021-03-23
      回复
    • 耿霄
      耿霄
      2021-03-23回复
      灵活就复杂了,哈哈
      2021-03-23
      回复
  • 跨商通
    跨商通
    2021-03-06

    将A页的this.data里的数据保存一下不就可以了吗?

    如果不删除,又有人怪为什么不删除,无法实现“有”刷新效果了。

    2021-03-06
    有用
    回复
登录 后发表内容
问题标签