You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android端AdMob开屏广告初始化引发部分设备ANR问题求助

解决AdMob开屏广告初始化ANR问题
  • 禁止主线程执行广告初始化
    所有AdMob初始化、广告加载操作必须放在后台线程完成,绝不能在Application.onCreate()或启动页主线程同步执行。示例代码:

    // Kotlin协程后台初始化示例
    CoroutineScope(Dispatchers.IO).launch {
        MobileAds.initialize(context) { status ->
            withContext(Dispatchers.Main) {
                loadSplashAd()
            }
        }
    }
    
  • 延迟广告加载时机
    不要在App启动瞬间触发广告请求,等待启动页布局绘制完成、主线程空闲后再执行加载逻辑。比如在onWindowFocusChanged(true)回调中触发,或用View.postDelayed延迟100-200ms,给系统留出基础服务初始化时间。

  • 更新AdMob SDK至最新稳定版
    旧版本SDK可能存在主线程阻塞的已知Bug,在build.gradle中更新依赖:

    implementation 'com.google.android.gms:play-services-ads:22.6.0' // 替换为当前最新版本
    
  • 开启延迟初始化优化
    在AndroidManifest.xml中添加配置,允许SDK后台异步完成初始化,不阻塞主线程:

    <meta-data
        android:name="com.google.android.gms.ads.DELAY_APP_MEASUREMENT_INIT"
        android:value="true"/>
    
  • 设置广告加载超时机制
    如果广告加载超过3秒,直接跳过展示进入主页面,避免阻塞主线程导致ANR:

    val adRequest = AdRequest.Builder().build()
    AppOpenAd.load(
        context,
        "你的开屏广告ID",
        adRequest,
        object : AppOpenAd.AppOpenAdLoadCallback() {
            private val timeoutHandler = Handler(Looper.getMainLooper())
            private val timeoutRunnable = Runnable { navigateToMainActivity() }
    
            init {
                timeoutHandler.postDelayed(timeoutRunnable, 3000)
            }
    
            override fun onAdLoaded(ad: AppOpenAd) {
                timeoutHandler.removeCallbacks(timeoutRunnable)
                if (isShowingSplashAd) ad.show(activity)
            }
    
            override fun onAdFailedToLoad(error: LoadAdError) {
                timeoutHandler.removeCallbacks(timeoutRunnable)
                navigateToMainActivity()
            }
        }
    )
    
  • 针对性排查设备日志
    收集出现ANR设备的日志(通过adb logcat或Crashlytics),确认是否为特定Android版本、厂商定制ROM导致的兼容性问题,必要时对这类设备跳过开屏广告或调整加载策略。

附上你提供的ANR日志截图:
ANR日志截图1
ANR日志截图2

内容的提问来源于stack exchange,提问作者QuestionAndroid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 21:31:02