Согласно AdMob Do c и AdMob для Firebase do c, хорошо получить согласие пользователя на GDPR, инициализировать клиент AdMob SDK и предварительно загрузить Interstitial Ad, все эти операции когда пользователи только что запустили приложение, в основном упражнении / фрагменте. А чтобы показать объявление в другом упражнении / фрагменте, позже.
Так что мне было интересно, как пройти предварительно загруженное объявление, и нашел ответ на этот вопрос: Как предварительно загрузить промежуточную рекламу AdMob и отправить другому android мероприятию с помощью намерения .
Идея состоит в том, чтобы сохранить ссылку * stati c на InterstitialAd, используя этот код:
public class AdManager {
private static InterstitialAd ad;
public void setAd(Context ctx, AdRequest adRequest) {
ad = new InterstitialAd(ctx);
ad.setAdUnitId("ca-app-pub-3940256099942544/1033173712");
ad.loadAd(adRequest);
}
public InterstitialAd getAd() {
return ad;
}
}
setAd
вызывается в основной активности / фрагменте и getAd
другой активностью / фрагментом, запущенным пользователем.
Мой вопрос: принимая во внимание жизненный цикл Android операций / фрагментов и JVM сборщик мусора, может ли это вызвать утечки памяти или значения null
(если одно из действий остановлено и, возможно, перезапущено Android, может ли ссылка c на stati null
)? Или безопасно использовать эту идею для использования ссылки * stati c?