android中長時間定時請求服務器最好的方法

如果用service中開了一個線程。可能遇到的問題是:運行幾個小時後,service裏面的線程慢慢暫停運行。

service中線程暫停運行的原因,可能是你的service等級不夠,需要使用startForeground()提升其爲前臺服務。這樣才能保證服務不被輕易殺死,而服務被殺死後,你的進程沒有活動組件,進程就自動被殺死了,從而線程暫停運行。

推薦的方法:把鬧鐘寫在應用全局裏,在service中的onstartcommont重新開啓子線程。

注意:卸載了可疑的第三方軟件,在網絡穩定的情況下進行測試。

涉及到android系統休眠問題,1.需要設置AlarmManager類型爲RTC_WAKEUP或者ELAPSED_REALTIME_WAKEUP,這樣才能保證,鬧鐘到期喚醒系統並通知你;2.你的app監聽服務器線程記得也要申請PowerManager的wakeLock,防止等待期間被系統休眠;


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章