html52.com
我爱小程序-开发者交流社区

重新渲染地图导致小程序内存溢出,崩溃-黑屏白屏(wx:if,页面跳转方法可触发)

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug map 客户端 7.0.5 2.7.5

- 当前 Bug 的表现(可附上截图)

三星S6 edge,三星S10 来回切换含地图页(redirectTo),尝试多次后,小程序页面白屏或黑屏,一段时间后不会恢复,有可能导致小程序关闭。

小程序奔溃效果如图:

小程序奔溃效果如图:操作视频如下:0-30s为不含地图页的切换演示,内存不会溢出。30s-1分30s为含地图页的切换演示,多次之后,小程序崩溃。

操作视频如下:0-30s为不含地图页的切换演示,内存不会溢出。30s-1分30s为含地图页的切换演示,多次之后,小程序崩溃。


- 预期表现

包含地图的页面,或地图,在重新渲染时,内存应该被有效回收。重新渲染的时机包括,切换页面(不管是redirect方法还是navigate方法)或wx:if控制的map组件。


- 复现路径

建议使用安卓手机操作(IOS性能监控,不可见内存)

使用wx:if方法控制地图显示或隐藏,内存在地图显示时显著升高,而用hidden方法显示或隐藏地图,不会有此表现。

通过性能窗口观察,发现内存在地图页切换时,升高并不会被销毁。其他普通页面不会有此情况。

推断:内存在地图重新渲染时,未有效回收,多次渲染地图,会造成内存溢出风险。


- 提供一个最简复现 Demo

https://developers.weixin.qq.com/s/V4jTDVmb789C


补充:华为荣耀10青春版复现问题,另外对内存监控数据的准确性表示怀疑。

华为荣耀10青春版复现问题,另外对内存监控数据的准确性表示怀疑。代码片段https://developers.weixin.qq.com/s/V4jTDVmb789C

网友回复

非城:

不知道是否和Map是原生组件有关,其他原生组件未作验证。

大鲨鱼:

你是测试人员吗?

娇华:

代码片段里是否也可以补充这里的相关代码:来回切换含地图页(redirectTo)

张胖子:

我也遇到这个问题,求解,性能模版的内存一直在增加。大致到1100m以上有大概率出现黑屏现象。

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

真正的个人免签约支付接口

云免签H5支付