2012-06-16 28 views
1

任何想法,爲什麼我在管理應用程序「運行」選項卡中看到,我的應用程序和谷歌地圖的「0進程和1服務」?我的應用程序一直在死,但不完全,它不會重新啓動。我試圖連接DDMS以查看發生了什麼,但沒有爲設備顯示進程(我檢查了我的清單具有debuggable =「true」)。0個進程和1個服務

+1

嘗試立即捕捉logcat的崩潰 –

+0

以後啊,所以這是一個巨大的挑戰。過去我嘗試過這種方式,但沒有成功。服務死亡所花費的時間是可變的,我不知道如何重現問題。我認爲部分問題是,我會讓手機連接到Eclipse調試器,但logcat在一段時間後會變得混亂,所以我錯過了消息。我試圖解決這個問題,我正在嘗試運行logcat並保存到SD卡上的一個50MB文件從手機本身的終端....我會發布任何結果 – Nick

+0

嘗試運行logcat出終端主機,即'adb logcat | tee somefile'(linux/osx)或讓'adb logcat'在任何操作系統上運行,並將其複製並粘貼到終端窗口外。當然,不經常發生的錯誤是令人討厭的,也許你可以想出辦法讓它更快地發生。 –

回答

1

答案是...... 服務不是一個進程,因此它對於要創建的服務是有效的,但沒有啓動。如果服務未啓動,則有0個進程。 在我的特殊情況下,我注意到日誌聲明「調度崩潰服務的重新啓動」。我認爲這意味着onStart()會被調用,事實並非如此。這裏有兩個環節這有助於回答這個問題:

http://groups.google.com/group/android-developers/browse_thread/thread/a9d3c1acbd46e384#

"Scheduling restart of crashed service", but no call to onStart() follows

+0

不完全。這兩個鏈接都表示調用了onCreate(),除非存在進程,否則這是不可能發生的。 –

+0

你能編輯/糾正我的評論嗎?操作系統重新傳遞意圖(如果在onStartCommand中返回)一旦發生這種情況,現在有一個新的過程,是不是?這是我在最近的測試中遇到的。 – Nick

相關問題