因为业务场景需求,需要在业务流程结尾进行跳转到别的页面进行二次交易循环;
但是触发了 5个页面的限制(以下简称 满栈);
最后使用 reLaunch 重启并定位到 index/index 首页,用来释放掉 5个页面,然后再 navigateTo 跳转到需要页面;
然后Bug出现了, 在跳转的时候获取 getCurrentPages 为1, 但是触发了5个上限,之后手动点击又是可以跳转的;
推断为 reLaunch 后, 内存的释放也是一个异步队列里面完成的,并且调用 success callback 时释放内存并不一定完成;
才会造成, 在 reLaunch 后 success 里面调用 navigateTo 时内存尚未释放完成就执行了 success callback,
然后等待内存释放完毕之后, 手动点击跳转又可以;
现在只能做Hack,setTimeout 去执行 success callback 的 navigateTo 逻辑,但是这个值在不同手机上时间也不一致,
iPhoneSE 小于50ms, 但是iPhone6 上介于50ms ~ 110ms 之间; 官方是否能够解决这个问题,将success callback 的调用放到
内存释放完成后;