我正在尝试在我的应用程序中放置广告。根据Admob的文档,我需要初始化Mobile Ads SDK。
这会导致代码中高内存使用率的激增。
以下是我在onCreate方法中请求广告的方式。
加载此横幅广告时会触发多个GC事件。如果不加载广告,则永远不会触发GC事件。 这种行为在Admob中正常吗?我该如何解决?
MobileAds.initialize(this, "YOUR_ADMOB_APP_ID");
这会导致代码中高内存使用率的激增。
但如果我删除这行代码,内存使用量就会下降,并且这行代码似乎对应用内的广告服务没有任何影响。
当从AdMob请求广告时,内存使用率再次飙升,并在应用程序启动时引起3-4个GC事件。我认为这是内存泄漏。以下是我在onCreate方法中请求广告的方式。
AdRequest request = null;
if (BuildConfig.DEBUG) {
//Facebook Audience Network
List<String> testDeviceId = new ArrayList<>();
testDeviceId.add("TESTID");//Redmi Note 3
testDeviceId.add("TESTID");//Moto G 1st Gen
AdSettings.addTestDevices(testDeviceId);
//Google Ad-mob
request = new AdRequest.Builder()
.addTestDevice("TESTID")//Redmi Note 3
.addTestDevice("TESTID")//Mot G 1st Gen
.build();
} else {
request = new AdRequest.Builder()
.build();
}
AdView mAdView = findViewById(R.id.adView);
mAdView.loadAd(request);
加载此横幅广告时会触发多个GC事件。如果不加载广告,则永远不会触发GC事件。 这种行为在Admob中正常吗?我该如何解决?