Android:ANR输入调度超时

时间:2016-12-01 10:49:16

标签: android performance

我在某些手机上收到以下错误日志,如下所示:

原因:输入调度超时(等待发送非键事件,因为触摸的窗口尚未完成处理500.0ms前传递给它的某些输入事件。等待队列长度:20。等待队列头时间:5509.1毫秒。)

我正在使用Retrofit 2进行网络调用,其中我使用异步方法,使用数据库作为领域,我使用异步事务来编写内容。 使用Glide进行图像加载。

在使用严格模式时,我发现我得到了共享首选项的惩罚日志。任何其他指向查看和调试问题

的指针

1 个答案:

答案 0 :(得分:2)

任何类型的时间昂贵的程序,如通过网络进行数据同步,都不应该在main thread中进行。 Android有一些默认的内置方法,例如AsyncTaskIntentService等,这些方法都在worker thread上。我个人对Retrofit 2不太了解。如果它适用于main thread,那么你应该在一个单独的线程中使用它。