整个应用程序中的一个插页式广告
One Interstitial ad through whole App
我有一个 activity 大约有四个片段,这些片段有子片段。我在通过片段调用的 Mainactivity 中有一个带有静态 InterstitialAd 的静态计数器,但它会导致内存泄漏。有没有更好的做法?
在主要内部
static int clicksCount,newsCount;
private static InterstitialAd mInterstitialAd;
public static void interstitalAd() {
clicksCount++;
if (clicksCount % 3 == 0) {
if (mInterstitialAd.isLoaded()) {
mInterstitialAd.show();
}
}
}
每当我需要从片段中调用它时
MainActivity.interstitalAd();
将 InterstitialAd
本身描述为静态成员可能没有必要也不明智,因为它将无限期地保留创建时使用的上下文。
最好做:
static int clicksCount,newsCount;
private InterstitialAd mInterstitialAd;
public void interstitalAd() {
clicksCount++;
if (clicksCount % 3 == 0) {
if (mInterstitialAd.isLoaded()) {
mInterstitialAd.show();
}
}
}
然后在你的 Fragment
:
MainActivity mainActivity = (MainActivity)getActivity();
mainActivity.interstitialAd();
我有一个 activity 大约有四个片段,这些片段有子片段。我在通过片段调用的 Mainactivity 中有一个带有静态 InterstitialAd 的静态计数器,但它会导致内存泄漏。有没有更好的做法?
在主要内部
static int clicksCount,newsCount;
private static InterstitialAd mInterstitialAd;
public static void interstitalAd() {
clicksCount++;
if (clicksCount % 3 == 0) {
if (mInterstitialAd.isLoaded()) {
mInterstitialAd.show();
}
}
}
每当我需要从片段中调用它时
MainActivity.interstitalAd();
将 InterstitialAd
本身描述为静态成员可能没有必要也不明智,因为它将无限期地保留创建时使用的上下文。
最好做:
static int clicksCount,newsCount;
private InterstitialAd mInterstitialAd;
public void interstitalAd() {
clicksCount++;
if (clicksCount % 3 == 0) {
if (mInterstitialAd.isLoaded()) {
mInterstitialAd.show();
}
}
}
然后在你的 Fragment
:
MainActivity mainActivity = (MainActivity)getActivity();
mainActivity.interstitialAd();