- 当前 Bug 的表现(可附上截图)
三星S6 edge,三星S10 来回切换含地图页(redirectTo),尝试多次后,小程序页面白屏或黑屏,一段时间后不会恢复,有可能导致小程序关闭。
小程序奔溃效果如图:
操作视频如下:0-30s为不含地图页的切换演示,内存不会溢出。30s-1分30s为含地图页的切换演示,多次之后,小程序崩溃。
- 预期表现
包含地图的页面,或地图,在重新渲染时,内存应该被有效回收。重新渲染的时机包括,切换页面(不管是redirect方法还是navigate方法)或wx:if控制的map组件。
- 复现路径
建议使用安卓手机操作(IOS性能监控,不可见内存)
使用wx:if方法控制地图显示或隐藏,内存在地图显示时显著升高,而用hidden方法显示或隐藏地图,不会有此表现。
通过性能窗口观察,发现内存在地图页切换时,升高并不会被销毁。其他普通页面不会有此情况。
推断:内存在地图重新渲染时,未有效回收,多次渲染地图,会造成内存溢出风险。
- 提供一个最简复现 Demo
https://developers.weixin.qq.com/s/V4jTDVmb789C
补充:华为荣耀10青春版复现问题,另外对内存监控数据的准确性表示怀疑。
我最近也遇到啦,使用其他类似美团外卖的也会出现这个问题,导致小程序无法使用
安卓下个版本会修复,建议通过修改map宽高为0来规避
我也遇到这个问题,求解,性能模版的内存一直在增加。大致到1100m以上有大概率出现黑屏现象。
代码片段里是否也可以补充这里的相关代码:来回切换含地图页(redirectTo)
你是测试人员吗?
不知道是否和Map是原生组件有关,其他原生组件未作验证。