Android关闭插屏广告报Duplicate finish request警告咨询
针对插屏广告关闭时AdActivity重复finish警告的解答
这个警告非常普遍,只要用了com.google.android.gms:play-services-ads:21.0.0版本的开发者,基本都在Logcat里刷到过一模一样的日志,完全不是你自己写的页面跳转逻辑出问题。
- 触发逻辑:插屏广告本身运行在独立的
AdActivity中,广告关闭时SDK内部会触发这个Activity的finish流程。21.0.0版本的SDK存在一处小问题,广告关闭的回调会在两个不同的生命周期节点各触发一次finish调用,ActivityManager发现这个Activity已经处于销毁流程中,就会打出这条重复finish的警告。 - 实际影响:这个警告没有任何实际负面影响,不会导致广告加载、展示、计费异常,不会引发App崩溃、ANR,也不会干扰你自己的Activity之间的跳转逻辑,终端用户完全感知不到。
- 可选处理方式:
- 最省事的做法:直接忽略即可,这条日志不代表任何业务错误;
- 想彻底消除这条日志的话,把AdMob SDK升级到21.1.0及以上的正式版本即可,官方已经在后续版本修复了这个内部冗余调用的问题;
- 临时排查日志嫌它碍眼的话,直接在Logcat的过滤配置里屏蔽
Duplicate finish request for AdActivity相关的日志条目就好。
不要为了消除这条日志随意修改自己的广告回调逻辑,更不要用反射、hook之类的方式篡改AdActivity的生命周期,反而容易引发广告展示异常、不计费之类的真实问题。
内容的提问来源于stack exchange,提问作者lina0i0-29
相关产品推荐
相关产品推荐

