Unity3D-iOS崩溃之“AGXGLDriver: glrKillClient + 464”
程序员文章站
2022-04-09 10:51:15
...
我的项目上线后,出现好多这个崩溃,还主要是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 函数中添加上面的方法即可!