Android:ANR 输入调度超时
Posted
技术标签:
【中文标题】Android:ANR 输入调度超时【英文标题】:Android: ANR Input dispatching timed out 【发布时间】:2017-04-15 23:21:53 【问题描述】:我在某些手机上收到以下错误日志:
原因:输入调度超时(等待发送非键事件,因为触摸的窗口尚未完成对 500.0 毫秒前交付给它的某些输入事件的处理。等待队列长度:20。等待队列头年龄:5509.1女士)
我正在使用 Retrofit 2 进行网络调用,其中我使用异步方法,使用数据库作为领域,我使用异步事务来编写内容。 使用 Glide 加载图片。
在使用严格模式时,我发现我得到了共享偏好的惩罚日志,没有别的。查看和调试问题的任何其他指针
【问题讨论】:
【参考方案1】:在main thread
中不应执行任何类型的耗时过程,例如通过网络同步数据。 android
有一些默认的内置方法,如 AsyncTask
、IntentService
等。这些在 worker thread
上。就我个人而言,我对 Retrofit 2 不太了解。如果它适用于 main thread
,那么你应该在单独的线程中使用它。
【讨论】:
根据文档改造 2 enqueue 方法在异步中工作。 @jitenshah 是的,我能够解决它。实际上,我正在执行我在主线程上编写的数据库操作,这很重将它移到异步任务中,它就像一个魅力。在android中使用领域作为数据库 对我来说是 gms 模块。以上是关于Android:ANR 输入调度超时的主要内容,如果未能解决你的问题,请参考以下文章
com.android.inputmethod.latin 中的 ANR 原因:输入调度超时
Android 进阶——Framework 核心ANR( Applicatipon No Response)机制设计思想详解