我有四个片段的活动,这些片段有子片段。我有一个静态计数器,在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();
答案 0 :(得分:1)
将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();