有很多線程都有類似的問題和建議要解決。我已經嘗試過所有的方法,除了將服務置於前臺之外,沒有其他方法適用於我的情況,這是我迄今不想做的。儘管我很忙,但我的後臺服務被終止並重啓了很長時間的等待
我無法發表評論到現有的主題,因爲我沒有足夠的聲譽,我想問,所以不能回答。這是提出我的問題並尋找專家意見和建議的唯一選擇。
類似問題的現有線索的討論,
Time taken for Android Service to restart after being forcibly killed
Background Service getting killed in android
Android: Scheduling restart of crashed service with HUGE delay?
我的問題:
我有一個服務是在引導時啓動(聽取意見nt BOOT_COMPLETED
) 我啓動了一個線程,該線程通過套接字與其他服務進行交互,並在服務被終止時被中斷(onDestroy)
。
在手機上使用Wifi,我的服務永遠不會被android殺死,它按預期工作。
如果我只切換到3G(在& T SIM),我的服務被殺死約。之後1800秒(30分鐘)並計劃在約10秒內重新啓動。 3600秒(1小時)。所有這段時間,服務啓動的線程正在執行SQLLite調用並與此其他服務進行交互。
Android認爲我的服務已被閒置超過1800+秒,並且會在很長的重啓時間內終止它。
問題:
什麼我需要做的,告訴的Android ActivityManager,我的服務使用一個線程紡它做的工作,所以它不應該被殺死。僅適用於3G。
如何將計時器減少到20秒以下。 1小時太長了。 我沒有使用AsyncTask來旋轉其他線程,永久睡眠1秒,但仍然我的服務被殺死。
當使用3G與Wifi來確定要殺死哪個服務時,Android的行爲如何改變?