收藏
回答

视频广告内存溢出?

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小游戏 Bug wx.createRewardedVideoAd 客户端 6.7.4 2.3.2



广告组件播放完成自动加载下一个Video时报错如下  并且没有调用到RewardedVideoAd的onError方法


11 listeners of event hide have been added possibly causing memory leak




本人的播放代码如下:


                private videoAd: wx.IVideoAd;


public videoEndCallBack: Function;


public videoCallBackInst: any;


/**能否播放**广告  注:微信每个用户的广告次数不定,播放前要判断是否加载成功*/


public canPlayVideo: boolean;


               /**初始化**广告 只在微信登陆后调用一次 */


public initVideoAd() {


var adUnitIdVal: string;


adUnitIdVal = "adunit-XXXXXXXXX";


if (!this.videoAd) {


this.videoAd = wx.createRewardedVideoAd({ adUnitId: adUnitIdVal });


}


this.videoAd.onLoad(() => {


console.log('激励** 广告加载成功');


UserInfoData.Ins.canShowVIdeo = this.canPlayVideo = true;


})


this.videoAd.onError((err) => {


console.log('激励** 广告加载失败 尝试加载下一个');


UserInfoData.Ins.canShowVIdeo = this.canPlayVideo = false;


this.videoAd.load()


.then(() => this.videoAd.show())


})


}


                /**


* 播放微信广告**


* @param callBack 播放完成回调函数


* @param callInst 播放完成回调实例


*/


public showVideoAd(callBack: Function, callInst: any) {


this.httpIns.statLog(common.enumtype.LogIds.LOG_CLICK_PLAYER_VIDEO);


this.videoEndCallBack = callBack;


this.videoCallBackInst = callInst;


this.videoAd.show();


this.videoAd.onClose(res => {


// 用户点击了【关闭广告】按钮


// 小于 2.1.0 的基础库版本,res 是一个 undefined


if (this.videoCallBackInst != null && this.videoEndCallBack != null) {


if (res && res.isEnded || res === undefined) {


// 正常播放结束,可以下发游戏奖励


console.log('正常播放结束,可以下发游戏奖励');


this.videoEndCallBack.call(this.videoCallBackInst, true);


this.httpIns.statLog(common.enumtype.LogIds.LOG_PLAY_VIDEO_END);


}


else {


// 播放中途退出,不下发游戏奖励


console.log('播放中途退出,不下发游戏奖励');


this.videoEndCallBack.call(this.videoCallBackInst, false);


this.httpIns.statLog(common.enumtype.LogIds.LOG_PLAY_VIDEO_CLOSE);


}


this.videoCallBackInst = null;


this.videoEndCallBack = null;


}


})


}


报错截图如下





游戏二维码


测试帐号 xingkong__33

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

1 个回答

  • 。。
    。。
    2018-11-29

    onclose加的监听数量太多了,每次显示都新加了一个啊,也加在初始化里啊

    2018-11-29
    赞同 1
    回复