当我在分析模式下运行我的应用程序时,它停止响应

2024-03-05

我的 Android 应用程序在长时间运行的会话中遇到一些 OutOfMemory 错误。为了找到原因,我尝试使用 Android Studio Profiler,但它停止工作并在使用后 10 秒内冻结应用程序。

这是 Android Studio 屏幕的屏幕截图。它会在第一秒内记录活动,然后冻结应用程序并停止记录任何内容 ->https://ibb.co/QXLhqnz https://ibb.co/QXLhqnz

我的 logcat 读取的最后几行(随着时间的增加,最后几行不断重复,我更改了包名称)

2019-04-09 08:42:41.151 19728-20399/br.com.xxxxx V/StudioProfiler: Live memory tracking enabled.
2019-04-09 08:42:41.151 19728-20399/br.com.xxxxx V/StudioProfiler: JNIEnv not attached
2019-04-09 08:42:41.483 19728-20399/br.com.xxxxx V/StudioProfiler: Loaded classes: 8894
2019-04-09 08:42:51.688 19728-20399/br.com.xxxxx E/zygote: E[0]:Timed out waiting for threads to suspend(br.com.xxxxx), waited for 10.000s
2019-04-09 08:43:01.689 19728-20399/br.com.xxxxx E/zygote: E[0]:Timed out waiting for threads to suspend(br.com.xxxxx), waited for 20.000s
2019-04-09 08:43:11.689 19728-20399/br.com.xxxxx E/zygote: E[0]:Timed out waiting for threads to suspend(br.com.xxxxx), waited for 30.000s

如有任何帮助,请提前致谢。


Android Studio Profiler 可能不是适合该任务的工具。首先识别可能的内存泄漏金丝雀泄密 https://square.github.io/leakcanary并修复它们, 那么您应该能够使用探查器,而无需停止/终止线程。如果没有提供最少的代码,这可能是最好的答案。

这种行为的原因可能是,ART 杀死停滞的线程,而 Profiler 一直等待它们响应,这显然永远不会发生,因为它们不再存在。

错误信息来自ART,只需查看thread_list.cc https://android.googlesource.com/platform/art/+/master/runtime/thread_list.cc。在 Dalvik VM 上,它的行为可能有所不同(最有可能由于 OOM 强制关闭,或者可能使 VM 崩溃)。这可能值得一试。在分析时介入它也可能是一种选择,但它到目前为止不如 LeakCanaray 那么方便。


Update:Android Studio 3.6.2 发行说明指出:

改进了使用分析器时对活动和片段的内存泄漏检测。

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

当我在分析模式下运行我的应用程序时,它停止响应 的相关文章

  • 销毁Android应用程序

    我开发了一个运行良好的应用程序 我使用了一些静态变量并设置了应用程序级别变量 我的问题是 即使在每个活动上设置 finish 之后 应用程序仍显示在运行模式下 关闭应用程序后 当我在一段时间后启动应用程序时 它将设置最后的更改 我怎样才能销
  • 方法调用 mActionBar=getActionBar() 给出错误[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在使用支持库android support v7 app actionbar因为我想要操作栏API 级别 8以上 但是下面的句子给了我
  • Android:是否有一种简单的方法可以为视图创建圆角,而不必每次都创建单独的可绘制对象?

    我在互联网上浏览了各种解决方案 这些解决方案使我们能够创建带有圆角的视图 其中大多数需要使用创建自定义视图 或者每次我们需要圆角视图时都需要在 xml 或九个补丁中创建可绘制对象 问题是 当我实现此类视图时 我需要为每个此类视图创建一个可绘
  • Android TableRow 垂直拉伸以填充屏幕

    我正在尝试创建一个电话拨号器视图 使用 TableLayout 在 3x4 网格中创建 12 个按钮 我希望行垂直拉伸以平等地使用所有可用空间 但似乎 fill parent 在 TableRows 上不起作用 我不想使用 setMinim
  • 通过 id 查找 视图?

    如果视图是 id 是否可以通过 id 查找视图
  • Android BLE - 如何分块读取大特征值(使用偏移量)?

    我正在使用 Android SDKandroid 蓝牙 and android 蓝牙 le APIs 我想实现一个应用程序 发挥核心作用 并连接到 BLE 外设以读取特征值和描述符 应用程序需要读取的特征值较大 因此需要分块连续读取 我对如
  • android:widgetLayout 和 android:layout 之间的区别?

    我得到一些奇怪的配置 其中 widgetLayout 配置列表项的内部空间 而布局配置整个项目列表和屏幕背景 有人能真正解释一下什么是 widgetLayout 吗 android layout 整个首选项的布局 包括标题 摘要和小部件 a
  • 使用 Asp.Net 的 GCM 推送通知

    正如您可能已经看到的 Google 正在迁移其推送通知系统 http developer android com guide google gcm c2dm html http developer android com guide goo
  • android 从图库中选择图像

    我想从图库创建一个图片选择器 我使用代码 intent new Intent Intent ACTION PICK android provider MediaStore Images Media EXTERNAL CONTENT URI
  • 如何在将数据发送到 Firebase 数据库之前对其进行加密?

    我正在使用 Firebase 实时数据库制作聊天应用程序 我知道 Firebase 非常安全 只要您的规则正确 但我自己可以阅读使用我的应用程序的人的所有聊天记录 我想阻止这种情况 为此我需要一种解密和加密方法 我尝试使用凯撒解密 但失败了
  • MPAndroidChart StackedBarChart 显示值但不显示条形图

    我开始使用MPAndroidChart https github com PhilJay MPAndroidChart图书馆来建立一个StackedBarChart显示三个 y 值 这是代码 public class Plot final
  • getViewByID 对于 Listview 返回 null

    我的 main xml 如下
  • 为什么在回收器视图中滚动后值会消失?

    Data before scrolling Data after scrolling 我的应用程序的问题如上图所示 输入数据后 如果我在将项目添加为可滚动后滚动 数据就会消失 作为进一步的解释 有时输入的数据出现在已添加的其他项目中 为了解
  • Android - 如何合并两个视频

    基本上 我正在寻找一种将两个 mp4 视频文件 在 SD 卡上 组合在一起的方法 更像是在第一个视频的末尾附加第二个视频 我进行了很多搜索 但找不到合适的解决方案 好吧 我根本找不到任何解决方案 所以我的问题是 是否有一个库可以组合 并可能
  • 如何在高速缓存中存储图像

    我对此完全空白 我想从 URL 下载图像 并且必须将其存储在内部 以便下次我不需要连接到网络 而是从缓存中检索它 但我不知道该怎么做 谁能帮我提供一个代码片段 import java io BufferedInputStream impor
  • 如何跟踪数据库连接泄漏

    我们有一个应用程序似乎存在连接泄漏 SQL Server 表示已达到最大池大小 我独自一人在我的开发机器上 显然 只需导航应用程序 我就会触发此错误 SQL Server 活动监视器显示大量正在使用我的数据库的进程 我想查找哪些文件打开连接
  • Android 在通话期间播放音频文件[重复]

    这个问题在这里已经有答案了 对于我的 Android 应用程序 我想在从应用程序接听电话后播放音频文件 应用程序将发起电话呼叫 一旦接收者接听电话 应用程序应开始播放录制的音频文件 通过在谷歌上进行大量搜索 我发现这对于未root的设备来说
  • ActionBar 中的进度条

    我正在使用一个应用程序 它将在应用程序内部加载一个网站 现在我想在操作栏中添加一个进度栏 而无需向上滑动来抑制功能 像那样 我在用Fragment在我的应用程序中 WebviewFragment public class WebviewFr
  • Phonegap - cordova 在 Android 和 iOS 设备上延迟且缓慢

    我刚刚开始使用 zend studio 开始我的第一个 PhoneGap 项目 但是 在我构建并部署它之后 该应用程序非常慢 Android 和 iOS 均可 滚动滞后 如果我按下按钮 转到下一页的速度很慢 有什么办法可以提高它的性能吗 提
  • 使用 Android 的 Mobile Vision API 扫描二维码

    我跟着这个tutorial http code tutsplus com tutorials reading qr codes using the mobile vision api cms 24680关于如何构建可以扫描二维码的 Andr

随机推荐