收藏
回答

含有canvas图表功能的小程序在华为手机上表现不稳定

问题模块 框架类型 问题类型 终端类型 微信版本 基础库版本
框架 小程序 Bug 客户端 6.7.3 2.4.3

bug表现:

在华为手机中,带有canvas图表功能的小程序,在切换5次左右图表,小程序就会出现异常(比如闪退、卡死、图表绘制失败)。测试过的小程序案例包括自主开发的小程序以及微信官方小程序“小程序助手”。


复现方法:

此处以官方小程序为例。使用华为荣耀9手机搜索“小程序助手",进入小程序后,找到数据分析栏目,进入栏目下性能分析页面。在性能分析页面中,多次(一般在5次左右)切换绘图数据范围,小程序将卡死。为简单起见,可以通过多次更改数据日期范围,bug将出现。bug出现时,如下图,图表一直都没画出来




另外,在自主开发的小程序(使用wx-f2库绘图)中,打开调试,可以控制台中看到以下报错信息,

  1. thirdScriptError undefined; at setTimeout callback function undefined.

  2. thirdScriptError sdk uncaught thirdError pthread_create (1040KB stack) failed: Out of memory null




希望得到的帮助:

  1. 是什么原因导致的bug,官方能否解决?

  2. 有没有可行的折中替代方案?

最后一次编辑于  2018-12-24  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

2 个回答

  • 阿康
    阿康
    2018-12-26

    华为手机上确实有问题,我用canvas绘制图片也是不成功。

    2018-12-26
    赞同
    回复
  • 兰天
    兰天
    2018-12-24

    at setTimeout callback function undefined: 很明显是计时器没有找到回调方法。 应该是在切换图表的时候,回调方法被注销了。但是计时器是不会被注销的,在计时器结束时找不到执行方法,所以要手动注销计时器。Out of memory null: 如果你正确处理好计时器问题,那么这个内存溢出自然是不存在的

    2018-12-24
    赞同
    回复 3
    • 陈
      2018-12-25

      如果是这样的原因会在所有手机上复现的

      2018-12-25
      回复
    • 兰天
      兰天
      2018-12-27回复

      报错信息是没错的。这个setTimeout如果是微信内部方法触发的,那就是微信封装的方法没有适配好华为手机浏览器。

      2018-12-27
      回复
    • 兰天
      兰天
      2018-12-27回复

      你解决了吗?骚年

      2018-12-27
      回复