AdMob消耗更多内存

时间:2012-05-19 17:15:51

标签: android memory-leaks admob

当我使用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;              
        }    
    }

1 个答案:

答案 0 :(得分:1)

我假设在onResume或类似内容中,您正在创建新的AdView。

我不会在这里使用adView.isReady()。我认为isReady实际上只用于插页式广告,因此可能无法设置为true。我不确定为什么它是广告界面的一部分。

每次调用onPause时,您是否获得“销毁广告对象...”日志记录语句(尝试记录if语句上方的内容以确认)?我的猜测是,你实际上并没有每次都在销毁AdView,但是你不断创建新的AdView。