来自reference:
应该尽早调用此方法,并且每次只调用一次 应用程序启动。
我想通过以下方式从我的应用的Application
类调用此方法:
public class MyApplication extends Application {
// ...
@Override
public void onCreate() {
super.onCreate();
MobileAds.initialize(getApplicationContext(), myAppId);
}
}
在这种情况下,这被视为良好做法吗?
这样做的正确方法是什么?
答案 0 :(得分:9)
是的,这应该没问题,谷歌实际上建议这样做其他包。例如,在Google的setup guide for Analytics中,他们建议初始化GoogleAnalytics
子类中的全局Application
对象。
是的,这是初始化MobileAds
的正确方法。
答案 1 :(得分:1)
是的,您的代码看起来很完美。一些谷歌示例建议使用Activity.onCreate,但这与doc:
相矛盾"应该尽早调用此方法,每次只调用一次 应用程序启动"。
这个thread解释了为什么要调用initialize。简而言之:它加快了第一次调用AdView.loadAd。与此同时,我注意到它减慢了应用程序的创建速度。
答案 2 :(得分:1)
调用<div class="row--animated">
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>
<li>8</li>
<li>9</li>
</ul>
</div>
是可选的,并且MobileAds.initialize()
在MobileAds.initialize()
上执行。因此,在Main Thread
的{{1}}中调用它会在onCreate
的显示中产生滞后。
我在OnePlus 6上进行了测试,Activity
的执行花费了 400-500毫秒。
我的实现是在Activity
实例的MobileAds.initialize()
方法中创建的单独MobileAds.initialize()
中调用Thread
。
onCreate