Cocos2dxJavascriptJavaBridge.evalString(str)调用一次即释放问题

  • Creator 版本: 2.0.9

  • 目标平台: android

  • 重现方式:
    必现

  • 首个报错:

  • 之前哪个版本是正常的:

  • 手机型号:

  • 手机浏览器:

  • 编辑器操作系统:

  • 重现概率:

背景:在安卓环境下调用广告播放sdk,在调起播放时,传入一个js层的回调函数(里面有判断分支,希望在一次播放逻辑中可被多次调用),接下来在播放过程中,监听sdk的不同状态,如达到条件、播放完毕、关闭视频等等,监听到之后使用evalString接口通知js层每个状态。

问题:需要一个js回调被多次调用,但是现在只有首次(例如达到条件时)调用时能够调用到,在接下来的状态中去调时发现调不到,也没有报错日志。请大神解答一下,要不然每个状态都写一个js层的回调,多个广告就非常难维护了

顶一下顶一下

你可以在js里面定义个全局函数,在android里面直接调用这个全局的

谢谢,我现在试一下

找到问题了,官方提供evalString并不存在调用一次即释放的问题,原因是自己对回调做了一层封装,使用了delete操作,去掉就可以了