我在活动中展示插页式广告时遇到了内存泄漏。我正在以一定的频率显示广告,当用户离开活动(如果已经加载广告)时,然后在“活动”中显示广告会销毁,否则在加载广告时就会显示。我已阅读this,但找不到解决此问题的方法。这是代码,请帮助我找出可能的内存泄漏在哪里。
//inside Activity's onCreate()
if(ApplicationClass.showAd()) {
interstitialAd = new InterstitialAd(getApplicationContext());
interstitialAd.setAdUnitId("AD_UNIT_ID");
interstitialAd.loadAd(new AdRequest.Builder()
.addTestDevice("DEVICE_ID")
.build());
interstitialAd.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
super.onAdLoaded();
//backup display if ad was not loaded and user exits the screen
if(isDisplay && interstitialAd != null){
interstitialAd.show();
interstitialAd.setAdListener(null);
}
}
@Override
public void onAdOpened() {
finish();
}
@Override
public void onAdClosed() {
finish();
}
@Override
public void onAdFailedToLoad(int i) {
super.onAdFailedToLoad(i);
ApplicationClass.cancelScreenVisited();
}
});
}
@Override
protected void onDestroy() {
itemsList = null;
if(interstitialAd != null && interstitialAd.isLoaded()){
interstitialAd.show();
interstitialAd.setAdListener(null);
} else {
isDisplay = true;
}
super.onDestroy();
}