时间:2019-05-07 来源:小程序工厂
L***:
你好,目前请不要在 onShow 中直接调用 reLaunch 。我们会尝试调整优化一下。
那么onShow里面的代码是在后台执行的
是的,目前页面首次 onShow 的时机是紧接着 onLoad 的,它可能出现在页面完全进入之前。
T***:
@LastLeaf THX
我之所以会在onShow里面加reLaunch 就是为了解决有时候 微信小程序不会被内存回收导致页面的数据一直不会更新 的问题。我的做法是在APP onLaunch记录一个日期到Storage,下次在app onShow的时候拿到当前日期去和上次的时间比对,不是同一天(我们数据一天更新一次)就模拟微信小程序被回收的场景,关闭所有页面回到首页重新拉取数据。
于是就碰到了上述问题,那么介于此,我貌似除了放在app onShow去检测,没有更好的办法了..... 不知道在每个页面的onShow去检测会不会有效果。如果这个也不行,真是没辙了,如果大神有更好的方案,不吝赐教!
wx.addCard一次添加不了多张优惠券##微信小程序教程
L***:
按照设计,微信小程序只会在后台驻留几分钟的时间,应该不会有一整天都不重启的问题吧?
T***:
@LastLeaf 这个还真有的,我反馈过这个问题 同事的IPhone 7 不论啥时候打开微信小程序都不会刷新,用户中也有一定比例的反馈不会刷新的问题。 于是我才出此下策....
我看过文档了,说是5分钟的时间,但实际上不是,很多手机根本不会回收。还有置顶的微信小程序也不会回收
T***:
所以是不是我这种情况 暂时无解?
【微信小程序问答】textarea cursor-spacing 自动调整
L***:
置顶的微信小程序也不会回收
这种情况是不会的。
其实你的目的是,有时需要强制更新一下数据?我觉得应该有体验更好的方法,比如重新做一次 setData 来重设页面数据。
T***:
@LastLeaf 因为我页面比较多,我得在每个页面都要做这个处理, 确实蛮蛋痛的。
T***:
还有个问题就是,有些页面的数据时依赖前面页面,所以单单这个页面setData是没用的,最理想的还是要回到首页再去刷新,现在ios倒是没有问题,单单安卓不行... 纠结,我在想想别的办法吧,多谢了
scroll-view#微信小程序教程
L***:
我们之后会强化这方面的接口,你可以关注一下后续更新。
T***:
@LastLeaf 好的 多谢!
其实可以开放更多的生命周期 ,比如onRoute, 虽然这个生命周期方法我们这边已经做了个框架已经实现了,当然原生支持就更好了