Unity3D-iOS崩溃之“AGXGLDriver: glrKillClient + 464”

我的项目上线后,出现好多这个崩溃,还主要是iOS10以上很容易出现:

AGXGLDriver: glrKillClient + 464


在网上查了半天,说是一个webview在后台刷新的引起的,但是我并没有使用webview,经过排查之后,发现其实就是展示谷歌广告的时候会用到webview。

于是在程序中处理了下广告,就是当游戏挂起时,把广告都不显示或者销毁,总之就是不让他们刷新就可以了。

void OnApplicationPause(bool _pauseStatus)
	{
		if (_pauseStatus){
			GoogleManager.SetAdHide(GoogleManager.Kind.BANNER);
			GoogleManager.ins.RemoveInterstitial();
		}else{
			GoogleManager.SetAdShow(GoogleManager.Kind.BANNER);
		}
	}
如果有激励广告,也记得添加上哦。

目前这么改动之后,新版本还没出现这个崩溃了。


2018.2.26 补充:

在后面看到的报告,还是有这个问题出现,但是几率变小了,出现的时机是当广告即将显示的时候,用户按Home退出到后台时,就会出现这个崩溃,这种情况一般会出现在视频加载比较慢的情况才会有,当然,如果按照上面的方式,也能减少,但是杜绝不了。

今天是看到google广告的SDK有了更新,上面增加了一个方法,专门用来解决本问题的。

**************
Version 3.11.0
**************

Plugin:
- Updated Android ad events to be invoked on the main thread.
- Added `MobileAds.SetiOSAppPauseOnBackground()` method to pause iOS apps when
displaying full screen ads.
- Fixed issue were banners repositioned incorrectly following an orienation
change.

所以,现在去下载最新的SDK就可以更好地解决这个问题!目前还没出现崩溃。

使用就是在 OnApplicationPause 函数中添加上面的方法即可!

猜你喜欢

转载自blog.csdn.net/pz789as/article/details/79063353
今日推荐