didi/Hummer

内存不释放的问题

Opened this issue · 7 comments

描述

iOS集成后内存不释放的问题

Hummer version

0.2.8

复现步骤

  1. 项目集成hummer;
  2. 打开tenon-vue写的页面;
  3. 关闭页面后内存未释放;

如js页面使用tenon-vue项目, npm run dev 后, 将component-button下app.vue的点击事件代码改为跳自己, 如下:

    handleClickBtn(msg) {
      Toast.show(msg);
      let pageInfo = {
        id: '111',
        // url: 'hummer://UPPayOneTrava',
        url: 'component-button.js',
        animated: true,
        params: {
          aaa: 111,
          bbb: 222,
        }
      };
      Navigator.openPage(pageInfo, (result) => {
        console.log('Page result: ' + JSON.stringify(result));
      });
    },

预期结果

内存释放

样例代码、屏幕截图或者仓库链接

样例代码:https://github.com/Niu-12138/DidiHummerDemo
视屏:
https://github.com/didi/Hummer/assets/19486884/8c1c0e7f-c457-427c-8238-a0dfb88ee54c

请提供下 js 工程地址

image

按视频操作,无法浮现,memory graph 表现正常

2023-11-24.11.54.49.mov

2023.12.12,基于"hummer init"新创建的项目,也存在关闭页面后,Memory不释放,上述leaked allocations, 如图:

image

Xcode 版本:Version 14.3 (14E222b)
模拟器:iPhone 14 Pro (iOS 16.4)
macOS 版本:13.2.1 (22D68)

"hummer init"新创建的项目视屏录制:

QQ20231212-181500-HD.mp4