iOS集成AdMob后控制台高频重复输出ProcessThrottler相关日志问题
问题原因
该日志是WebKit框架的ProcessThrottler模块输出的调试信息,本质是8.x版本Google-Mobile-Ads-SDK的内部实现逻辑导致:AdMob的GADBannerView、GADAdLoader内部依赖WKWebView实现广告渲染、可见性检测、数据上报逻辑,SDK会高频调用runJavaScriptInFrameInScriptWorld接口执行JS脚本,每次调用都会触发WebKit创建、销毁前台活动标记,进而产生重复日志。
该日志属于调试级别的提示,不会影响App功能稳定性,也不会出现在线上用户的设备日志中,仅会在开发调试阶段刷屏控制台。
解决方案
- 临时屏蔽控制台刷屏:在Xcode的Scheme配置中依次选择
Run>Arguments>Environment Variables,添加环境变量OS_ACTIVITY_MODE,值设为disable即可屏蔽该类系统级调试日志。注意调试其他依赖系统日志的功能时,需要临时移除该配置。 - 升级SDK版本:Google官方在9.0及以上版本的Google-Mobile-Ads-SDK中优化了WebView JS调用逻辑,合并了重复的执行请求,绝大多数场景下该重复日志会直接消失。
- 降低广告刷新频度:如果暂时无法升级SDK,可以将
GADBannerView的广告刷新间隔从默认的30s调整为更长的时长,同时避免频繁创建、销毁GADAdLoader实例,可大幅降低日志输出的频度。 - 直接忽略:该日志无性能影响,也不会带入线上环境,如果不影响日常调试可以不用做任何处理。
内容的提问来源于stack exchange,提问作者Kit
相关产品推荐
相关产品推荐

