2016-12-01 20 views
7

我收到一些電話上下面的錯誤日誌,其中如下:安卓:ANR輸入調度;超時

原因:輸入調度;超時(等待,因爲觸摸窗口尚未處理完某發送非關鍵事件輸入事件在500.0ms前傳遞給它。等待隊列長度:20.等待隊列頭年齡:5509.1ms。)

我使用Retrofit 2進行網絡調用,其中使用異步方法,使用數據庫作爲領域在那裏我使用異步交易來寫東西。 使用Glide進行圖像加載。

在使用嚴格模式時,我發現我得到了共享偏好的罰分日誌沒有別的。任何其他指針看到和調試問題

回答

2

任何類型的時間昂貴的程序,如數據同步通過網絡不應該在main thread做。 Android有一些默認的內置方法,如AsyncTask,IntentService等,這些都在worker thread上。就我個人而言,我對改裝2不太瞭解。如果它適用於main thread,那麼您應該在單獨的線程中使用它。

+1

根據文檔改造2 enqueue方法工作在異步。 – Sutirth

+0

@Surth:你能解決這個問題嗎? – j10

+2

@jitenshah是的,我能解決它。其實我是在主線程上寫數據庫的操作,這個操作非常重要,它像一個魅力一樣將它移動到異步任務上。在我的android – Sutirth