java - 整个应用程序中的一个插页式广告

标签 java android memory-leaks admob interstitial

我有一个大约有四个 fragment 的 Activity ,这些 fragment 有子 fragment 。我在通过 fragment 调用的 Mainactivity 中有一个带有静态 InterstitialAd 的静态计数器,但是它会导致内存泄漏。有更好的做法吗?

内部主要

static int clicksCount,newsCount;
private static InterstitialAd mInterstitialAd;

public static void interstitalAd() {
    clicksCount++;
    if (clicksCount % 3 == 0) {
        if (mInterstitialAd.isLoaded()) {
            mInterstitialAd.show();
        }
    }
}

每当我需要从 fragment 中调用它时

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();

关于java - 整个应用程序中的一个插页式广告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32146012/

相关文章:

java - 部分访问类属性

java - 用于存储玩家保存的文件的良好文件格式是什么?

c++ - VirtualTreeView 在 C++ Builder 中完成 UnicodeString

java - 在Springs框架之外运行Gradle测试时找不到属性文件

java - 如何覆盖/删除 GWT 小部件中的默认处理程序?

android - 如何使用 SMARTBANNER (AdMob) 并确保展示它

android - 全局参数后的预期动词,但发现 'sdk'

java - Android - 带倒计时的定时游戏,可使用剩余时间更新 UI,同时用户仍然可以与 UI 交互

ruby - 哪个 ruby​​ 版本/构建最适合 rails 3?

memory-leaks - phantomjs 没有关闭并留下孤立进程