Как полностью уничтожить AdMob AdView и вернуть память? - PullRequest
1 голос
/ 09 марта 2012

Мое приложение имеет активность и сервис. Недавно я представил Admob в своем приложении.

Однако я обнаружил, что он невероятно потребляет память (5 МБ), и я не могу вернуть свою память после ее уничтожения.

Я использую это в моем layout.xml

 <com.google.ads.AdView 
    android:id="@+id/adView"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    ads:adUnitId="xxxxxx"
    ads:adSize="BANNER">

Включить admob в моем onCreate

AdView adView = (AdView)this.findViewById(R.id.adView);
adView.loadAd(new com.google.ads.AdRequest());

Уничтожьте это на моем onPause или onDestory

AdView adView = (AdView)this.findViewById(R.id.adView);
adView.destroyDrawingCache();
adView.destroy();

После уничтожения я все еще не могу вернуть память 5 МБ. Может кто-нибудь помочь, пожалуйста?

p.s. Мой сервис работает в фоновом режиме, и я вижу, что 5 Мб все еще там.

Спасибо.

Ответы [ 3 ]

0 голосов
/ 10 марта 2012

Попробуйте удалить AdView из его контейнера, чтобы GC мог удалить его.

0 голосов
/ 22 марта 2012

Пробовал другие методы, ни один из них не работает.Также я использую новейшую библиотеку Admob 4.3.1.

Единственное решение, которое работает в моем случае, это вызвать "System.exit (0)" где-нибудь в моем приложении.

Затем служба перезапустится сама, и память, используемая Admob, также вернется.

0 голосов
/ 09 марта 2012

Просто предположение, но, возможно, попробуйте вызвать stopLoading () перед вызовом destroy ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...