Android 发现死锁

2024-03-21

当我运行 Android 服务时,有时会收到 ANR。我怀疑这是因为僵局而发生的。

有没有一种简单的方法可以监控 Android 或 Eclipse 中的死锁?例如显示哪个线程持有哪个锁等的实用程序?

有没有办法通过查看 traces.txt 文件来找出死锁?

我的 ddms 日志在崩溃时看起来像这样

02-15 18:09:01.046: INFO/Process(90): Sending signal. PID: 450 SIG: 3
02-15 18:09:01.046: INFO/dalvikvm(450): threadid=3: reacting to signal 3
02-15 18:09:01.056: INFO/dalvikvm(450): Wrote stack traces to '/data/anr/traces.txt'
02-15 18:09:01.076: INFO/Process(90): Sending signal. PID: 10548 SIG: 9
02-15 18:09:01.076: ERROR/ActivityManager(90): ANR in com.abc.cm.core
02-15 18:09:01.076: ERROR/ActivityManager(90): Reason: Executing service com.abc.cm.core/.WorkOrderManager
02-15 18:09:01.076: ERROR/ActivityManager(90): Load: 1.46 / 1.16 / 1.05
02-15 18:09:01.076: ERROR/ActivityManager(90): CPU usage from 19462ms to 1067ms ago:
02-15 18:09:01.076: ERROR/ActivityManager(90):   abc.cm.core: 13% = 12% user + 1% kernel / faults: 1360 minor
02-15 18:09:01.076: ERROR/ActivityManager(90):   mmcqd: 4% = 0% user + 4% kernel
02-15 18:09:01.076: ERROR/ActivityManager(90):   system_server: 3% = 2% user + 1% kernel / faults: 473 minor
02-15 18:09:01.076: ERROR/ActivityManager(90):   zygote: 2% = 2% user + 0% kernel / faults: 90 minor
02-15 18:09:01.076: ERROR/ActivityManager(90):   adbd: 1% = 0% user + 1% kernel / faults: 1042 minor
02-15 18:09:01.076: ERROR/ActivityManager(90):   m.abc.unten: 0% = 0% user + 0% kernel / faults: 203 minor
02-15 18:09:01.076: ERROR/ActivityManager(90):   ndroid.launcher: 0% = 0% user + 0% kernel / faults: 802 minor
02-15 18:09:01.076: ERROR/ActivityManager(90):   droid.wallpaper: 0% = 0% user + 0% kernel / faults: 109 minor
02-15 18:09:01.076: ERROR/ActivityManager(90):   ndroid.settings: 0% = 0% user + 0% kernel / faults: 44 minor
02-15 18:09:01.076: ERROR/ActivityManager(90):   dhd_dpc: 0% = 0% user + 0% kernel
02-15 18:09:01.076: ERROR/ActivityManager(90):   events/0: 0% = 0% user + 0% kernel
02-15 18:09:01.076: ERROR/ActivityManager(90):   logcat: 0% = 0% user + 0% kernel
02-15 18:09:01.076: ERROR/ActivityManager(90):  +andisk.api.test: 0% = 0% user + 0% kernel
02-15 18:09:01.076: ERROR/ActivityManager(90):  +iTestFwService1: 0% = 0% user + 0% kernel
02-15 18:09:01.076: ERROR/ActivityManager(90):  +sh: 0% = 0% user + 0% kernel
02-15 18:09:01.076: ERROR/ActivityManager(90): TOTAL: 40% = 23% user + 16% kernel + 0% iowait + 0% softirq
02-15 18:09:01.096: INFO/ActivityManager(90): Process com.abc.cm.core (pid 10548) has died.

在任何平台上解决死锁都很困难。我在android上知道的唯一方法是在每次锁定/解锁/otherExpectiveFunctions之前和之后添加一些日志记录(例如使用Log.d)

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

Android 发现死锁 的相关文章

  • Manifest Merger工具:替换失败

    我正在使用一个使用自己的 android theme 的库 因此在构建时收到以下错误 错误 55 9 任务 contacit processDebugManifest 执行失败 清单合并失败 AndroidManifest xml 中的属性
  • 如何使用Android opencv使图像的白色部分透明

    我无法链接超过 2 个网址 因此我将我的照片发布到此博客 请在这里查看我的问题 http blog naver com mail1001 220650041897 http blog naver com mail1001 220650041
  • 带有一、二和三个按钮的 Android 警报对话框

    我不经常发出警报 但每次发出警报时 我都会花一些时间来阅读文档 https developer android com guide topics ui dialogs html并弄清楚如何去做 由于我现在不得不这样做几次 所以我将在下面写一
  • Android在排序列表时忽略大小写

    我有一个名为路径的列表 我目前正在使用以下代码对字符串进行排序 java util Collections sort path 这工作正常 它对我的 列表进行排序 但是它以不同的方式处理第一个字母的情况 即它用大写字母对列表进行排序 然后用
  • Android 服务是否有办法检测设备何时锁定?

    我有一个 Android 服务 我希望在设备锁定时执行操作 我想澄清一下 我对屏幕开 关状态不感兴趣 我知道如何使用带有 Intent ACTION USER PRESENT 和 KeyguardManager inKeyguardRest
  • 使用 gradlew assembleRelease 从 React Native 创建发布 apk 时出现错误

    我想发布 apk 但我收到错误 文件已存在 mkdir D mobile 它在 d 驱动器中生成名为 mobile 的文件 删除文件后 再次执行 gradlew assembleRelease 创建该文件并抛出错误 任务 app bundl
  • Java 文件上传速度非常慢

    我构建了一个小型服务 它从 Android 设备接收图像并将其保存到 Amazon S3 存储桶中 代码非常简单 但是速度非常慢 事情是这样的 public synchronized static Response postCommentP
  • 画透明圆,外面填充

    我有一个地图视图 我想在其上画一个圆圈以聚焦于给定区域 但我希望圆圈倒转 也就是说 圆的内部不是被填充 而是透明的 其他所有部分都被填充 请参阅这张图片了解我的意思 http i imgur com zxIMZ png 上半部分显示了我可以
  • 菜单在片段的 onCreateOptionsMenu 处多次膨胀调用

    我使用 Fragments 当我切换到嵌套 Fragment 时 它实现了public void onCreateOptionsMenu Menu menu MenuInflater inflater 当我到达该嵌套片段时 我的菜单会多次膨
  • 使用 PhoneGap 使 Android 应用程序易于访问(对于残障人士)

    有人有过使用 PhoneGap 使 Android 应用程序可访问的经验吗 至少我们需要使我们的应用程序符合第 508 条规定 我尝试实现一些标准的辅助功能 文本框标签 向 div 添加标题属性等 但是 当在 Android 中使用 Tal
  • 将 Firebase 云消息传递与 Windows 应用程序结合使用

    我在 Android 和 iOS 应用程序中使用 Firebase Cloud Messaging 但是我还有此应用程序的 Windows Mac OS 版本 我想保留相同的逻辑 我知道 Firebase Cloud Messaging 可
  • Android:滚动 Horizo​​ntalScrollView 时如何禁用 ScrollView 的垂直滚动?

    我正在开发一个带有带有 ScrollView 的 Activity 的 Android 应用程序 其中包含 Horizo ntalScrollView 等内容 当我触摸 Horizo ntalScrollView 时 我想禁用外部 Scro
  • 在游戏视图下添加 admob

    我一直试图将 admob 放在我的游戏视图下 这是我的代码 public class HoodStarGame extends AndroidApplication Override public void onCreate Bundle
  • Android 后台服务示例,具有交互式调用方法

    我不是 Android 方面的专家 我正在寻找一个 Android 应用程序的示例 该应用程序使用一个服务 其中有真正的功能方法 或者换句话说 一个服务可以用来做什么 我们什么时候需要它 超越简单的东西服务举例 我确信您渴望获得一些工作代码
  • 模块中的类无法加载

    我正在开发一个 2D Unity android 游戏 其中我最近添加了 Firebase Beta SDK 但添加后FirebaseAnalytics unitypackage我面临的错误是 无法加载模块中的类 当我删除文件夹时Fireb
  • 在 KitKat 4.4.2 中获取 SDard 路径和大小

    我在 Google Play 上有一个设备信息应用程序 在该应用程序中我有存储信息 我知道 Android 4 4 在访问外部 SD 卡方面发生了一些变化 内部似乎没有给我带来问题 我的问题是 如何可靠地获取 KitKat 上 SD 卡的大
  • 尝试将 SQLite DB 从数据复制到 SD 卡

    我正在使用以下代码 该代码发布在 Stack Overflow 上的某个位置 并根据我的目的进行了修改 try File sd Environment getExternalStorageDirectory File data Enviro
  • 使用单选按钮更改背景颜色 Android

    我试图通过从单选组中选择单选按钮来更改应用程序选项卡的背景 但是我不确定如何执行此操作 到目前为止我已经 收藏夹 java import android app Activity import android os Bundle publi
  • Android应用程序可以像旧的普通java小程序一样嵌入到网页中吗?

    我对 android 平台一无所知 也无法在互联网上找到这个基本问题的答案 更新 好的 我本身无法嵌入 Android 应用程序 但是我可以在 Android Webbrowser 中嵌入 Java 的东西吗 不可以 您无法将 Androi
  • 如何在片段中实现 onBackPressed() 和意图?

    我知道 onBackPressed 是活动中的一种方法 但是 我想在片段中使用该功能 以便当按下后退按钮时 它会通过 Intent 重定向到另一个活动 有什么办法解决这个问题吗 public class News Events fragme

随机推荐

  • 使用 webpack 捆绑一个 React 组件以供另一个 React 组件导入

    我在两个 git 存储库中有一些 React 代码 目标是 npm 发布一个 React 组件为 repo 1 并在 repo 2 中使用它 在 repo 1 中 我定义了 Hello jsx use strict import React
  • Xcode 6 到 Xcode 11 - 分离控制台/日志窗口

    是否可以将 Xcode 6 中的控制台 日志窗口分离到 Xcode 9 如果是这样 如何将它从主控制台分离到它自己的窗口中 这个问题之前曾针对 Xcode 4 提出过 但答案不适用于 Xcode 6 到 Xcode 9 Stackoverf
  • 什么是 Programdata/Application Data 文件夹?

    因此 我正在编写一个迭代指定目录树的应用程序 并且我正在尝试处理文件夹访问权限的异常 并且我遇到了编译器返回的一个文件夹 其中包含 C ProgramData Application Data 目录 有谁知道这个文件夹是什么 它似乎不存在于
  • flutter中如何实现用户标签?

    我正在构建的应用程序有评论和帖子 我想知道如何在评论和帖子中实现类似于 Instagram 的标记 我认为我上次检查时没有任何软件包 我是否可以像评论和帖子标记中的搜索栏一样实现它 但我不能为此使用搜索委托 因为它会将我带到另一个屏幕 即搜
  • Kendo Grid - 自定义过滤器行

    Kendo Grid 中有一个名为 Filter Row 的功能 http demos telerik com kendo ui grid filter row http demos telerik com kendo ui grid fi
  • 需要 getline() 的帮助[重复]

    这个问题在这里已经有答案了 如果在我的程序中我要求用户输入 并且我这样做 是否有原因 int number string str int accountNumber cout lt lt Enter number cin gt gt num
  • 尽管使用了减小的样本大小,但 BitmapFactory.decodeStream 内存不足

    我读过很多有关解码位图内存分配问题的相关文章 但即使使用官网提供的代码后仍然无法找到以下问题的解决方案 这是我的代码 public static Bitmap decodeSampledBitmapFromResource InputStr
  • Grunt 构建在 Yo Angular 中不起作用

    我用 Yo 角度生成器构建了一个 Angular 应用程序 我正在使用 Grunt Build 构建应用程序 然后添加了 Bootstrap 3 以及 npm install grunt bower install 我将这些行添加到 Gru
  • 从字符串中删除所有特殊字符,不包括非拉丁字符

    我想从字符串中删除除数字和普通 a z 字符之外的所有特殊字符 我这样做是这样的 text text replaceAll a zA Z0 9 这种方法的问题在于 它还会删除所有非拉丁字符 如 等 我所说的非特殊字符 我想保留的字符 是指所
  • 在循环中使用 string.length() 是否有效?

    例如 假设string s这是 for int x 0 x lt s length x 比这个更好 int length s length for int x 0 x lt length x 谢谢 乔尔 一般来说 如果结果在迭代期间没有改变
  • Allegro 5 和 Visual Studio Express 2013:缺少 MSVCR110D.dll

    我正在使用 Allegro 5 制作一个程序 我有两台计算机 一台装有 VS Express 2013 for Desktop 我将其称为 C1 另一台装有 VS Professional 2013 我将其称为 C2 在 C2 上 我的程序
  • 使用迭代器的初始值设定项列表构造容器

    可以构造一个具有迭代器范围的向量 如下所示 std vector
  • 使用 Python 进行字符翻译(如 tr 命令)

    有没有办法进行字符翻译 音译 有点像tr https perldoc perl org functions tr命令 使用Python Perl 中的一些例子是 my string some fields string tr dies ea
  • 解析服务器安全性[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在运行 Parse Server 的干净 Heroku 和 MLab 安装 https github com ParsePlatf
  • 在 Azure 中创建的 VM 上的 TenantEncryptionCert

    我创建了预安装 SQL Server 的 Azure VM 并配置了 IIS 以在其上运行我的 NET 应用程序 为我的应用程序配置 SSL 时 我注意到服务器上已经存在许多证书 其中相当一部分是租户加密证书由 Windows Azure
  • 在 Windows 剪贴板复制缓冲区中包含格式信息以粘贴到 Excel 中

    我的应用程序将表格数据写入 Windows 复制缓冲区 以便用户粘贴到 Excel 中 这适用于未格式化的表格数据 包括制表位以及单元格和行分隔符的新行 我想在复制缓冲区中包含格式化数据 网格线 背景颜色等 我可以这样做吗 如果可以 在哪里
  • 计算整个 GeoDataFrame 点的质心

    我想从 geojson 文件导入一些航路点 标记 然后确定所有点的质心 我的代码计算每个点的质心 而不是该系列中所有点的质心 如何计算系列中所有点的质心 import geopandas filepath r Shiloh json gdf
  • css - 显示:表格单元格和固定宽度[重复]

    这个问题在这里已经有答案了 我有一些divs with display table cell样式 我想在其上设置固定宽度divs并在内容不合适时截断其中的文本 HTML div class row div class cell style
  • 如何在 Postgres 9.5 中替换多个特殊字符

    我有一个包含可能包含特殊字符的名称列表的表 id name 1 Joh n 2 J rgen 3 Janna 4 dyr 是否有一个函数可以将每个字符替换为另一个特定字符 不一定是无重音的 像这样的事情 SELECT id function
  • Android 发现死锁

    当我运行 Android 服务时 有时会收到 ANR 我怀疑这是因为僵局而发生的 有没有一种简单的方法可以监控 Android 或 Eclipse 中的死锁 例如显示哪个线程持有哪个锁等的实用程序 有没有办法通过查看 traces txt