XCGS
XCGS
  • 发布:2019-07-25 00:48
  • 更新:2019-07-25 11:24
  • 阅读:1200

【报Bug】 plus.ios.implements 中 iOS端频繁调用代理方法,会出现内存增高,app闪退问题

分类:Native.js

详细问题描述

(DCloud产品不会有明显的bug,所以你遇到的问题大都是在特定环境下才能重现的问题,请仔细描述你的环境和重现方式,否则DCloud很难排查解决你的问题)

[内容]

重现步骤

html端
var NjsHello = plus.ios.importClass("aigxSoundEngine");
var hello = new NjsHello;
var hevent = plus.ios.implements( "QlcbSoundEngineCallback", {
"SoundEngineCallback":function(){

                                         console.log("out" + hello.plusGetAttribute("jsonStr") + new Date().getTime());  

                                         }  
                                         } );  

                                         // 设置监听对象  
                                         hello.setEventObserver( hevent );  

ios端
NSDictionary * recordParamDict = [NSDictionary dictionaryWithJsonString:recordParam];
if (recordParamDict) {
[[SoundEngine sharedSingleton] StartMicroPhone:recordParamDict Callback:^(id result, BOOL keepAlive) {

        self.jsonStr  = [NSDictionary jsonStringWithDictionary:result];  
            // 追加在主线程中执行的任务  
            [[self delegate]SoundEngineCallback];  
    }];  
}  

[步骤]
html用 plus.ios.implements 创建代理回调方法

ios端频繁掉用 回调方法传值

[结果]
偶发闪退 如截图

[期望]
正常运行

[如果语言难以表述清晰,拍一个视频或截图,有图有真相]

IDE运行环境说明

[HBuilder 或 HBuilderX。如果你用其他工具开发uni-app,也需要在此说明]

[IDE版本号]

[windows版本号]

[mac版本号]

uni-app运行环境说明

[运行端是h5或app或某个小程序?]

[运行端版本号]

[项目是cli创建的还是HBuilderX创建的?如果是cli创建的,请更新到最新版cli再试]

[编译模式是老模板模式还是新的自定义组件模式?]

App运行环境说明

[Android版本号]

[iOS版本号]

[手机型号]

[模拟器型号]

附件

[IDE问题请提供HBuilderX运行日志。菜单帮助-查看运行日志,点右键打开文件所在目录,将log文件压缩成zip包上传]

[App问题请提供可重现问题的代码片段,你补充的细一点,问题就解决的快一点]

[App安装包或H5地址]

[可重现代码片段]

联系方式

[QQ]

2019-07-25 00:48 负责人:无 分享
已邀请:
DCloud_IOS_XTY

DCloud_IOS_XTY

NJS对象在页面close时才会销毁,页面不关闭时需要自己调用plus.ios.deleteObject销毁

该问题目前已经被锁定, 无法添加新回复