收藏
回答

小程序canvas逻辑存在内存泄漏的问题?

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug canvas 微信iOS客户端 大量版本 n.0.0

问题描述

鲸营宝小程序在ios系统,切换数据看板有闪退情况

安卓设备暂无此类问题;ios机型,切换看板的速度影响小程序闪退;

初步判断是内存占用过高导致微信客户端闪退(部分机型会弹出内存告警的弹窗)。

 

目前正在尝试的解决办法

优化看板数据请求方式、优化数据页状态管理姿势(合并数据setState引起的多次重渲染)、优化看板的渲染逻辑(合并多次渲染、手动取消数据变化没变化部分的渲染),优化canvas的渲染逻辑,减少canvas的绘制动作、和内存的消耗。


分析

  1. 经过大量优化操作(优化请求更新状态、优化状态管理、优化kbone-canvas的绘制逻辑、合并状态更新、对比数据在必要时更新canvas等),减少canvas的绘制次数后,ios闪退的概率大大下降
  2. 小程序社区中也有 原生开发+echarts、f2 发生闪退的情况

https://developers.weixin.qq.com/community/develop/doc/0006c23c14471095fd1ac32bc5b400?highLine=canvas%2520%25E9%2597%25AA%25E9%2580%2580

https://developers.weixin.qq.com/community/develop/doc/000e6ea89289f0528f99552f556400?highLine=canvas%2520%25E9%2597%25AA%25E9%2580%2580

https://developers.weixin.qq.com/community/develop/doc/000a6c0d9fc8008f572a0a08f51c00?highLine=canvas%2520%25E9%2597%25AA%25E9%2580%2580

https://developers.weixin.qq.com/community/develop/doc/000c60f9c38e50c93d7a6ed695b000?highLine=canvas%2520%25E9%2597%25AA%25E9%2580%2580

等等

 

综上,得出大概率是因为ios小程序原生canvas有内存泄露的逻辑,并不是F2、echarts的问题,在优化逻辑减少canvas绘制次数后 闪退复现次数大大下降 也可佐证此结论


回答关注问题邀请回答
收藏

4 个回答

  • David·Wang
    David·Wang
    2021-10-19

    官方啥时候能修复啊?去年的问题现在还没有解决哦。。内存蹭蹭往上涨

    2021-10-19
    有用
    回复
  • 匿旅
    匿旅
    2020-07-23

    +1

    ios: 12.4.1

    微信版本: 7.0.14

    使用了 wx-f2 库,changeData() 之后微信直接闪退,多次测试后打开微信有一个提示上传日志之类的得点下一步下一步才能进微信。


    2020-07-23
    有用
    回复
  • C.
    C.
    2020-07-02

    也遇到了类似的问题,内存溢出

    2020-07-02
    有用
    回复
  • 疯狂的小辣椒
    疯狂的小辣椒
    2020-06-24

    你好,麻烦具体描述下载小程序里的问题复现流程,提供出现问题的具体机型、微信版本号、系统版本号,麻烦再重现一次,在手机微信那里上传下日志: 我->设置->帮助与反馈右上角有个上报日志的入口,提供一下微信号,复现问题的详细时间点(如:2020-4-10 10:10)

    2020-06-24
    有用
    回复 4
    • 狂奔的蜗牛
      狂奔的蜗牛
      2020-06-28
      机型:iphone 6s,


      微信版本:7.0.13


      系统版本:12.0


      微信号:tiancaoshaomiansy


      日志 2020-06-22 21:00 左右
      2020-06-28
      回复
    • 疯狂的小辣椒
      疯狂的小辣椒
      2020-06-28回复狂奔的蜗牛
      请单独发帖反馈并详细描述问题,闪退先排查下内存是否紧张
      2020-06-28
      回复
    • 全栈技术
      全栈技术
      2021-01-13回复疯狂的小辣椒
      我也遇到这个问题了, 可不可以去TIT找你们, 你们在那里办公吗
      2021-01-13
      1
      回复
    • David·Wang
      David·Wang
      2021-10-19
      这个canvas内存溢出问题啥时候能修复不?项目都没法推进了
      2021-10-19
      回复
登录 后发表内容
问题标签