5

最新の AdMob バージョン (6.4.1) を使用しています。バナーを表示すると、CPU が発汗し始めます (バッテリーについては言うまでもありません :S )。

アクティビティを離れるときに AdView を破棄していますが、アクティビティを開始すると約 20% の CPU 使用率がかかります。

それを修正する方法はありますか?広告が表示されているときに CPU 使用率が非常に高いのはなぜですか?

4

1 に答える 1

3

AdMob の 2 つの異なる実装でアプリをテストしたところ、XML ではなく Java コードを介して実装する方が、アプリにとって軽量であることがわかりました。

更新番号 1:

カスタムリスナーを追加して、しばらくしてから破棄し、再作成して、さらに適切に処理することもできます。サーバーサイドには、アプリ広告に新しい広告を要求するタイミングを伝えるパラメーターもあります。すべての場合に存在するかどうかはわかりませんが、DFP アカウントには存在します。

広告を実装するための推奨される方法は次のとおりです。

new Handler(new Handler.Callback() {
@Override
public boolean handleMessage(Message msg) {
  if (!isBeingDestroyed) {
      final AdRequest adRequest = new AdRequest();
      final AdView adView = (AdView) findViewById(R.id.ad);
      adView.loadAd(adRequest);
  }
}).sendEmptyMessageDelayed(0, 1000);

adView.destroy()onDestroy() アクティビティを呼び出すことを忘れないでください。

上記の方法は、多くの便利なメモリ解放とともにここで言及されています!

完全な答えはここにあります: https://stackoverflow.com/a/14683378/1932105

次回は検索をご利用ください。幸運を

于 2013-10-18T09:39:01.220 に答える