评论

引入激励视频组件切换页面遇到updateTextView fail错误原因

视频激励广告组件更新视图失败

场景

在之前的开发过程中,发现只要有视频激励组件的页面,一旦遇到切换页面的时候,就会报错updatexxxview fail截图如下。

大段大段的未找到视图,移除失败。在社区中也有相应的bug反馈,但是并由没给出具体的原因是什么。我一直以为是微信本身的bug,到现在未知我也不知道具体是不是微信的bug😄。同时也怀疑过是不是使用了uni框架造成的原因,虽然报错了,但是却没有造成使用功能上的异常,花了部分经历也没找出个所以然,所以搁置没管了。

原因

现在回过头来看看,根据报错的信息,是移除组件的时候没有找到具体的视图,那么问题很有可能在生命周期的 hide unload当中,今天鬼使神差的把 在onUnload中把

 //销毁激励广告
        if (videoAd.destroy) videoAd.destroy();
        videoAd = null;

这行代码给注销了,神奇的是之后就再也没有上述的问题发生了。这么想来应该是 视图已经被卸载掉了,而激励广告依然在执行destory操作,在操作中发现找不到视图所以报错。这就是为什么报错总是发生在切换页面的时候。

解决途径

我没有在文档或者社区中找到,应该在合适销毁视频激励组件的回答。但是官方却给出了destroy的方法。在小游戏当中视频激励组件是单例模式,在小程序中视频激励组件是页面单例模式。所以这里是不是可以认为,根本不需要手动执行销毁视频激励组件的方法。或者这就是一个bug

点赞 1
收藏
评论

1 个评论

  • Zzx
    Zzx
    2020-01-10

    没有用,我没有手动destroy一样报警什么update的,有没有别的解决办法

    2020-01-10
    赞同
    回复 12
    • 甜茶
      甜茶
      2020-01-10
      原生开发的还是用的三方的跨端框架?比如uni
      2020-01-10
      回复
    • Zzx
      Zzx
      2020-01-10回复甜茶
      原生的,没用第三方框架
      2020-01-10
      回复
    • 甜茶
      甜茶
      2020-01-10回复Zzx
      提个代码片段看看
      2020-01-10
      回复
    • Zzx
      Zzx
      2020-01-10回复甜茶
      onLoad调用,点按钮的时候,show,然后切页面,就红~~~只在ios7.0.9以上版本有这个问题
      2020-01-10
      回复
    • Zzx
      Zzx
      2020-01-10回复甜茶
      而且一定要切得很快,如果关闭广告,超过500ms再back的话,就不会飘红了
      2020-01-10
      回复
    查看更多(7)
登录 后发表内容