Android Admob 插页式内存泄漏

2024-03-02

我试图在某些活动结束时显示插页式广告。问题是插页式广告似乎阻止了活动被垃圾收集,从而导致内存不足异常。我该如何解决这个问题?提前致谢。

public class AdActivity extends FragmentActivity{

//...

protected InterstitialAd interstitial;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    //...

    // Create the interstitial.
    interstitial = new InterstitialAd(this);
    interstitial.setAdUnitId(INTERSTITIAL_UNIT_ID);

    // Create ad request.
    AdRequest adRequest2 = new AdRequest.Builder().addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
            .addTestDevice(deviceId)
            .build();

    // Begin loading interstitial.
    interstitial.loadAd(adRequest2);
}

@Override
public void onPause() {
    super.onPause();
    displayInterstitial();
}


public void displayInterstitial() {
    if (interstitial.isLoaded() && System.currentTimeMillis() >= lastInterstitial + timeLag * 1000) {
        lastInterstitial = System.currentTimeMillis();
        interstitial.show();
    }
}

我这样使用它:

public class ActivityA extends AdActivity{ //...
} 

好的,我似乎已经通过更改修复了它

interstitial = new InterstitialAd(this);

to

interstitial = new InterstitialAd(getApplicationContext());

我不完全理解 java/android 中的内存管理,但我认为发生的事情是因为 Activity 引用了 interstitial,而 interstitial 引用了 Activity,所以两者都没有被垃圾收集。传入应用程序上下文而不是活动上下文可以防止这种循环依赖并解决问题。希望这对某人有帮助:D。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android Admob 插页式内存泄漏 的相关文章

  • Firebase ANR - 甚至不使用 firebase

    随着 GMS 的最新更新 引入了新的 ANR 如果您退出应用程序 然后返回 则 ANR 就会初始化 线程跟踪似乎指向 Firebase 但我什至从未开始使用 Firebase 我猜它一定是新的 GMS 包的一部分 06 11 00 34 0
  • 隐式超级构造函数 Person() 未定义。必须显式调用另一个构造函数?

    我正在开发一个项目 但收到错误 隐式超级构造函数 Person 未定义 必须显式调用另一个构造函数 我不太明白它 这是我的人物课程 public class Person public Person String name double D
  • RSA OAEP、Golang 加密、Java 解密 -BadPaddingException:解密错误

    我正在尝试解密使用 RSA OAEP 在 Golang 中加密的字符串 但出现 BadPaddingException 解密错误 很难弄清楚我错过了什么 这是Golang加密方法 func encryptString rootPEM io
  • 计算日期之间的天数差异

    在我的代码中 日期之间的差异是错误的 因为它应该是 38 天而不是 8 天 我该如何修复 package random04diferencadata import java text ParseException import java t
  • Java - 返回值是否会中断循环?

    我正在编写一些基本上遵循以下格式的代码 public static boolean isIncluded E element Node
  • Cloudfoundry:如何组合两个运行时

    cloundfoundry 有没有办法结合两个运行时环境 我正在将 NodeJS 应用程序部署到 IBM Bluemix 现在 我还希望能够执行独立的 jar 文件 但应用程序失败 APP 0 bin sh 1 java not found
  • 为什么Android应用程序在发布到市场后尺寸会增加?

    我最近在 Android 市场上发布了我的应用程序 显示应用程序大小为 5 4MB 而实际 apk 大小为 2 8MB 为什么显示多出2MB 我应该如何限制我的应用程序大小 请帮我 您的应用程序大小会增加 因为您使用了复制保护选项ON在发布
  • onClick 未在带有子项的 LinearLayout 上触发

    我有一个自定义的 LinearLayout 和一个较小的 TextView 子级 我希望能够单击 TextView 未覆盖的区域 因此我将 clickable true 和 onclicklistener 设置为 LinearLayout
  • Vimeo 视频在 Android 6 设备上停止播放

    我正在尝试在我的应用程序中播放 Vimeo 的视频 问题是在 Android 6 设备上 视频会在一定时间后停止播放 在 API 较低的设备上一切正常 时间取决于质量 对于下面提供的网址的视频 播放一定分钟 1 到 3 视频质量有多低 播放
  • Android 从命令行停止模拟器

    这个问题与如何通过命令行关闭Android模拟器 https stackoverflow com questions 5912403 how to shut down android emulator via cmd 但是 在尝试第一个答案
  • Dispatcher-servlet 无法映射到 websocket 请求

    我正在开发一个以Spring为主要框架的Java web应用程序 特别使用Spring core Spring mvc Spring security Spring data Spring websocket 像这样在 Spring 上下文
  • Nexus 7 (2013) 和 Win 7 64 - 尽管检查了许多论坛和在线资源,仍无法安装 USB 驱动程序

    我正在尝试设置 Nexus 7 2013 进行调试 但我在安装 USB 驱动程序的步骤中陷入困境 到目前为止 这是我尝试过的 采取的步骤 在 Nexus 7 2013 上打开调试模式 连接设备至 PC 下载 Google USB 驱动程序于
  • AdMob 收入是如何计算的? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我对 AdMob 收入的计算方式有点困惑 我想使用以下屏幕截图作为示例 我有一些问题 每次点击费用是如何计算的 因为在这个例子中它是 1
  • 如何在 Quartz 调度程序中每 25 秒运行一次?

    我正在使用 Java 的 Quartz Scheduling API 你能帮我使用 cron 表达式每 25 秒运行一次吗 这只是一个延迟 它不必总是从第 0 秒开始 例如 序列如下 0 00 0 25 0 50 1 15 1 40 2 0
  • 在 Honeycomb Android 3.0 中显示 Action Bar 菜单项的图标

    我正在使用 Honeycomb android 3 0 开发 Android 应用程序 我正在尝试在 Action Bar 中显示菜单 菜单有一个图标和标题 当我们单击菜单项时 它会以下拉列表的形式显示其项目 它是下拉列表中带有项目名称但不
  • 安卓的限制

    我需要构建一个应用程序 该应用程序拍摄相机图像并将其上传到网络 在网络上进行一些处理并返回真 假 我在这方面遇到了一些问题 希望得到澄清 1 我的应用程序有什么方法可以知道 Android 相机捕获的图像吗 我从这里明白了什么 Androi
  • 在android中跟踪FTP上传数据?

    我有一个运行 Android 的 FTP 系统 但我希望能够在上传时跟踪字节 这样我就可以在上传过程中更新进度条 安卓可以实现这个功能吗 现在 我正在使用org apache common net ftp我正在使用的代码如下 另外 我在 A
  • Android ScrollView fillViewport 不工作

    我有一个简单的布局 名称位于顶部 按钮位于屏幕底部 或者超出该按钮 以防我添加更多项目 所以我使用带有 LinearLayout 的 ScrollView 如下所示
  • Android 和 Java 中绘制椭圆的区别

    在Java中由于某种原因Ellipse2D Double使用参数 height width x y 当我创建一个RectF在Android中参数是 left top right bottom 所以我对适应差异有点困惑 如果在 Java 中创
  • 当ScrollView滚动到底部时加载更多数据

    我有一个带有动态加载内容的滚动视图 有时可能会有很多内容 所以我想在用户滚动到底部时加载更多内容 我搜索了合适的方法 发现了两种 onScrollChanged and getScrollY 但我不知道如何将它用于我的目的 请给我一些建议

随机推荐

  • 使用 Maven 创建 META-INF/services 文件

    有没有办法使用 Maven 在 META INF services 中创建自定义服务文件 使用 Ant 可以这样做 https ant apache org manual Tasks jar html https ant apache or
  • 在实时数据库上运行 mysqldump

    只是想知道在实时数据库上运行 mysqldump 有哪些风险 是否存在数据库损坏的可能性 mysqldump 似乎锁定了整个数据库 您的数据库表使用什么引擎 如果您使用事务表 您可以使用选项 单事务 转储 这将以一致的状态转储您的表 如果您
  • Python:Scrapy CSV 导出不正确?

    我只是想写入 csv 但是 我有两个单独的 for 语句 因此每个 for 语句的数据独立导出并破坏顺序 建议 def parse self response hxs HtmlXPathSelector response titles hx
  • 在 docker 容器中安装 imagemagick

    我正在尝试在 Ubuntu 14 04 服务器上使用 ImageMagick 在上传到 s3 之前调整图像大小 我正在 Wercker 创建的 docker 容器内运行所有内容 问题是我已经将它安装在服务器上 并将其安装在 docker 容
  • NoSuchBeanDefinitionException:未找到与 spring 测试和 Junit 相关的合格 bean 类型

    我正在使用 spring 测试和 Junit 编写测试用例 并在初始化 bean 时遇到错误 我发现了很多关于此的帖子 但对我来说没有任何作用 下面是我的代码 Pom xml
  • 如何使用 css 模块调整网站上的水豚查找器?

    在我们的自动化测试中 代码中的典型行可能类似于 find edit icon click 我们正在我们的项目中使用 css modules 我被警告说类名可能会发生巨大的变化 一个非常滑稽的例子是这个网站在其类名称中使用表情符号 当您检查页
  • POST json 到 Rails 服务器

    def create req ActiveSupport JSON decode request body if user User authenticate req email req password session user id u
  • 使用“抛出”脚本来阻止 Safari 加载脚本 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 您好 我需要阻止 Safari 桌面加载脚本 Throw 可能是一个选项 但不确定如何针对特定浏览器 这会正确定位浏览器吗 if ch
  • android中遍历复杂的xml文件

    我有一个 xml 文件位于此链接上 http nchc dl sourceforge net project Trialxml options xml http nchc dl sourceforge net project trialxm
  • 如何从 Visual Studio 调试器执行所有进程内存的高级搜索?

    我是一个大型商业程序的开发人员 我正在尝试追踪特定的 C 内存泄漏 我想使用 Visual Studio 搜索进程的整个有效地址空间 但我不知道如何有效地执行此搜索 我知道 s 命令文档here http msdn microsoft co
  • 多个派生类的dynamic_cast

    我有一个基类和n派生类 我想实例化一个派生类并将其发送到一个接收基类作为参数的函数 在函数内部 我通过使用dynamic cast找到了它是哪种类型的派生类 但我不想使用几个if else语句 相反 我想知道是否有一种方法可以找出它是哪个派
  • URL 重写未安装在 Windows 10 IIS 10 上

    我的 IIS 上需要 Url Rewrite 模块 但它没有安装 并表示我至少需要 IIS7 较新版本开箱即用支持win10 https www iis net downloads microsoft url rewrite https w
  • 通过 iPython 和伪控制台运行文档测试

    我有一个相当基本的可文档文件 class Foo gt gt gt 3 2 5 if name in main console import doctest doctest testmod verbose True 当直接通过 python
  • Datagridview 更改非空单元格的单元格颜色

    我正在创建一个日历约会应用程序 我想在加载 打开应用程序时更改非空单元格 具有值的单元格 的 datagridview 的颜色 我的应用程序已经处理如何加载数据 我可以更改非空单元格的颜色 但关闭并再次打开后 颜色又恢复为默认值 我不确定语
  • X-Editable 在成功更新后将“空”

    我正在使用 X Editable 插件在表格上进行内联编辑 但遇到了一个恼人的问题 请求成功并更新成功后 插件会在表格单元格上放置 空 而不是正确的更新值 我的网站很安静 所以我正在对 URL 执行 PUT 请求 例如http exampl
  • 如何在 Eclipse Kepler 中添加 Web Tools Platform(WTP)

    我安装了Eclipse Kepler在我的系统中 到目前为止我开发了J2SE应用 现在我想发展J2EE应用程序 所以我需要添加WTP在我的日食中 我尝试添加WTP在已经存在的 eclipse 中 为此 我通过以下方式打开安装对话框并提及Na
  • 如何在 Eclipse 中注释块?

    Eclipse 有评论块的热键吗 并取消注释块 Ctrl to toggle comments and Ctrl Shift to toggle comments At least for Java anyway other tooling
  • 为什么set_xticks不设置刻度的标签?

    import matplotlib pyplot as plt x range 1 7 y 220 300 300 290 320 315 def test axes axes bar x y axes set xticks x i 100
  • 使用 DX Compositor 的 UWP 应用程序实时模糊背景

    因此 UWP 合成支持已经有一段时间了 我正在寻找一种对元素进行实时模糊的方法 在移动或加载时进行实时模糊 而不是静态快照 到目前为止 我一直在 stackoverflow 和 google 上查看一些答案 这导致我使用Lumia 成像 S
  • Android Admob 插页式内存泄漏

    我试图在某些活动结束时显示插页式广告 问题是插页式广告似乎阻止了活动被垃圾收集 从而导致内存不足异常 我该如何解决这个问题 提前致谢 public class AdActivity extends FragmentActivity prot