我在我的应用程序中使用google admob InterstitialAd,但是我遇到了问题。当我为手机安装应用程序时,它运行成功。但是,当我将其安装在平板电脑设备上时,InterstitialAd通话活动就在Destroy上。当我关闭广告时,再次调用onCreate。这以循环的形式继续进行。显示广告时如何防止进入onDestroy?

创建时:

// Create an ad.
interstitialAd = new InterstitialAd(this, "--------");

// Set the AdListener.
interstitialAd.setAdListener(this);
loadAd();


和方法:

private void loadAd(){
    AdRequest adRequest = new AdRequest();
    //adRequest.addTestDevice(AdRequest.TEST_EMULATOR);
    interstitialAd.loadAd(adRequest);
}

@Override
public void onReceiveAd(Ad ad) {
    if (ad == interstitialAd) {
        if (interstitialAd.isReady()) {
            interstitialAd.show();
          }
    }
}

最佳答案

请勿在AdListsner#onReceive中调用interstitialAd.show()。

这是问题的核心,因为每次创建活动时都会加载广告。在Android框架销毁它以保留内存后,只要您返回它,它就会被创建。每当您离开活动(例如显示interstitialAd活动)时,都可能发生这种情况。
它还会产生非常差的用户体验。

而是在应用程序的自然断点处调用interstitalAd.show(),但前提是interstitialAd.isReady()。

10-01 19:21