我是靠谱客的博主 知性楼房,最近开发中收集的这篇文章主要介绍ANR无响应介绍和MTK针对ANR无响应介绍,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.1 概述

如果应用程序在一段时间内未做出响应或未结束执行,Android 系统会触发一个“应用程序无响应”(ANR) 对话框。一般来说,这种情况会在应用程序的 UI 线程因正在执行某项工作而无法按时处理输入事件时发生。具体来讲,检测到以下其中一种条件时会触发 ANR 对话框:
■ 应用程序未对键盘输入或触屏输入做出响应的时间长达 5 秒以上。
■ BroadcastReceiver 未在 10 秒内结束执行(后台广播则为 60 秒)。
■ Service 或 ContentProvider 的启动操作未在 20 秒内结束执行(后台服务则为 200 秒)。
有时,ANR 条件触发后并不显示对话框。这种情况通常是由于内部框架问题所致,例如在应用程序中发生 ANR 的同时,活动管理器或窗口管理器中存在死锁。这种情况最终会导致Android 看门狗超时。

备注:MTK平台针对ANR无响应在后面将会详细描述,可以根据流程图进行一步步分析,前面先简单概述ANR的基本思路。

1.1.1 Logcat ANR 消息

当应用程序中触发 ANR 时,会发出终止信号 (SIGABRT) 以结束无响应的应用程序。与此同时,logcat 的主缓冲区和系统缓冲区中会出现相应的消息。

在主 logcat 中,ANR 会显示一个针对应用程序的简单致命终止信号,如下所示:
Fatal signal 6 (SIGABRT) at 0x000002e5 (code=0), thread 29715 (com.android.settings)
更为详细的 ANR 消息可在系统 logcat 中查看。其中包含无响应应用程序的重要信息,包括应

最后

以上就是知性楼房为你收集整理的ANR无响应介绍和MTK针对ANR无响应介绍的全部内容,希望文章能够帮你解决ANR无响应介绍和MTK针对ANR无响应介绍所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(65)

评论列表共有 0 条评论

立即
投稿
返回
顶部