这个问题通常是因为在展示广告之后没有及时释放广告资源而导致的。正确处理资源的释放可以解决这个问题。可以尝试在广告关闭时释放资源并重新加载新的广告。
以下是示例代码:
public class MainActivity extends AppCompatActivity { InterstitialAd mInterstitialAd;
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);
mInterstitialAd = new InterstitialAd(this);
mInterstitialAd.setAdUnitId(getString(R.string.interstitial_ad_unit_id));
mInterstitialAd.setAdListener(new AdListener() {
@Override
public void onAdClosed() {
//在广告关闭时释放资源并重新加载新的广告
mInterstitialAd.loadAd(new AdRequest.Builder().build());
}
});
mInterstitialAd.loadAd(new AdRequest.Builder().build());
}
private void showInterstitial() { if (mInterstitialAd.isLoaded()) { mInterstitialAd.show(); } else { //如果广告没有加载完全,就不展示广告 Log.d("TAG", "The interstitial wasn't loaded yet."); } }
//在需要展示广告的地方调用showInterstitial()方法 }
在上面的示例代码中,实现了onAdClosed()方法在广告关闭时释放资源并重新加载新的广告。此外,还要在showInterstitial()方法中检查广告是否加载完成。