2011-08-24 43 views
0

我在Android和工作的一個維修項目
應用程序崩潰新的,如果沒有互聯網連接,同時創建SOAP請求崩潰日誌中的Android:任何想法

以下是logcat中的截圖,任何機構可以告訴我,請告訴我崩潰的原因。

enter image description here enter image description here

阿米特Battan

回答

2

你得到一個ANR。它代表Application Not Resoponding。

Android會殺死對用戶交互無響應的應用程序。基本上,當你在做繁重的處理和用戶點擊一個按鈕,如果你的應用程序沒有點擊事件在5秒內做出迴應。

在你的情況,如果互聯網連接不存在,我認爲你的應用程序不斷嘗試連接,永遠不會出現這種情況。因此ANR。考慮有一個超時請求..

檢查此link ANR的更多細節。

+0

謝謝..在我的代碼中,肥皂請求正在調用一個線程..但是,只要它發生崩潰,就會發生UI的堵塞......真正的肥皂請求超時3分鐘,當我將其減少到10秒崩潰成爲減少但不能完全解決... –

+0

要解決,你將需要把你的soaprequest到的AsyncTask所以它發生在後臺,你的主UI線程不會被阻塞。這樣你可以完全解決它。 – bluefalcon

1

當「主」線程發生某些長操作時,ANR發生。這是事件循環線程,如果忙的Android無法處理應用程序中的任何進一步的GUI事件,並由此引發了一個ANR對話框。不應該在UI線程中執行

,將需要更多的時間的任何任務,應移動到任何一個AsyncTaskThread & Handler

檢查/data/anr/traces.txt文件。

+0

謝謝..在我的代碼的SOAP請求在一個線程中調用..但它是真實的,只要它得到崩潰,UI發生堵塞.... SoapRequest是超時3分鐘,當我把它降低到10秒崩潰成爲減少但不能完全解決... –

1

把所有的下載任務放在一個線程中,然後檢查一次.... 實際上,如果進程沒有在特定的時間內完成它的動作,那麼android會爲每個進程分配一些時間,那麼ANR錯誤就會到來。

+0

謝謝..在我的代碼的SOAP請求在一個線程中調用..但它是真實的,只要它得到崩潰,UI發生堵塞.... SoapRequest是超時3分鐘,當我減少到10秒的崩潰變得最小化,但沒有完全解決... ... - –