2

Admob api を使用しているときに、アプリの処理メモリが 10MB にほぼ増加していることがわかりました。

AdMob を開始せずに実行すると、アプリの実行中のサービスで 4MB の処理メモリしか表示されない

広告を有効にした後、アプリの処理サイズが 14MB に達し、減少していないことがわかりました。

以下は私の実装コードです:

public void initAd(){
        adView = new AdView(this, AdSize.BANNER, AD_ID);
        adLinearLayout.addView(adView);
        adView.loadAd(new AdRequest());
    }

@Override
    protected void onPause() {
        super.onPause();

        if (adView != null && adView.isReady()) {

            log("destroying ads objects...");
            adView.destroy();
            adView.removeAllViews();

             adView = null;
             adLinearLayout.removeAllViews();
             adLinearLayout = null;              
        }    
    }
4

1 に答える 1

1

onResume新しい AdView を作成しているとします。

ここでは使いませんadView.isReady()。isReady は実際にはインタースティシャル広告にのみ使用されるため、true に設定されていない可能性があります。なぜそれが Ad インターフェイスの一部なのかわかりません。

onPause が呼び出されるたびに「destroying ads objects...」というログ ステートメントが表示されますか (確認のために if ステートメントの上に何かログを記録してみてください)。私の推測では、毎回 AdView を実際に破棄しているわけではなく、新しいものを作成し続けていると思います。

于 2012-05-21T17:41:15.430 に答える