2012-07-14 98 views
4

每當我離開我的應用程序運行一段時間(上次~9小時)時,手機已經啓動的任何活動都將停止響應,並且需要強制關閉,之後只是向下滑動通知區域下方的黑色屏幕以及向後按或主屏幕不會改變任何內容。我無法正常關閉手機,因爲它在嘗試關閉手機時無休止地旋轉。我需要卸下並重新插入電池。使我的應用程序運行幾個小時導致android手機凍結

我的應用程序有一個後臺服務,它監視藍牙設備並運行30秒超時接受線程。我相信我正在處理它們,因爲我的調試屏幕中只顯示了1個。我已經看到這個手機凍結行爲,同時讓設備連接整個持續時間,並沒有連接它。

我試過讓手機連接到logcat,看看手機凍結後會發生什麼,但是它會在一段時間後停止從手機接收更新,最多可能需要一兩個小時?很難估計,因爲我通常在等待時做其他事情。

有沒有人有任何提示可能會導致這種情況,或者我如何得到一些額外的反饋信息?

+0

我也有類似的問題。我暫停了我的活動 - 我幾分鐘後恢復它,應用程序運行正常,但當我在相當長的時間(5-6小時)後恢復時,它恢復正常,當我從它啓動另一個活動時凍結和崩潰/「強行關閉」。如果android系統從內存中刪除我的應用程序,它應該重新啓動,而不是從上次暫停的活動恢復,對吧?但那不會發生。還沒有找到原因或解決方案。 – 2012-07-14 09:19:45

+0

@VinayWadhwa您的問題與您最近遇到的關於簡歷活動的其他問題沒有關係,但已被涵蓋。 – 2012-07-14 12:42:13

+0

你能指給我一個嗎? – 2012-07-14 12:47:55

回答

1

如果您的服務在後臺運行,操作系統可能會在一段時間後終止它,並且您必須知道如何在服務中處理它。

做了很多工作的服務將是很好的被殺人選。

如果你希望你的服務做長時間的工作(30秒很長時間),你應該設置你的服務爲foreground service,並附有通知。

如果您不希望您的服務是前臺服務,請嘗試恢復被殺時的狀態,並嘗試進一步優化代碼。

有關服務如何在android上運行的更多信息,請參閱this link

相關問題