我的服务将在特定时间点显示一项活动,在每 13 次该活动之后,我将显示一个 admob 插页式广告。显示插页式广告时,我的应用程序的 RAM 使用量增加了 20MB,之后它就没有被垃圾收集。在接下来的第 13 次显示另一个插页式广告时,服务内存不会增加。
我展示广告的代码:
public void loadAndShowInterstitialAd() {
interstitial = new InterstitialAd(getApplicationContext());
interstitial.setAdUnitId(AD_UNIT_ID);
final AdRequest adRequest = new AdRequest.Builder()
.build();
Handler handler = new Handler(new Handler.Callback() {
@Override
public boolean handleMessage(Message msg) {
interstitial.loadAd(adRequest);
return true;
}
});
if (handler != null) {
handler.sendEmptyMessageDelayed(0, 200);
}
interstitial.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
super.onAdLoaded();
displayInterstitial();
}
});
}
public void displayInterstitial() {
if (interstitial.isLoaded()) {
interstitial.show();
}
}
我在以下堆栈溢出问题中尝试了几个解决方案,但对我没有任何帮助。