Re: [問題] 關於Service中handler持續傳送的問題
※ 引述《windverb (Vcman)》之銘言:
: 最近在做測試的時候,在Service中使用Handler的postdelay()每30秒執行一次會造成
: 整個程式當機的問題,是不是因為Handler是用於更新UI用的多執行緒,但我現在的Service
: 主要目的只是做藍芽傳輸根本不需要做UI,那如果我改用threXad是不是能解決每30秒固
: 定從Service中傳送資料? ?能不能請各位神人提供意見,謝謝。
首先,handler不是用來更新UI,
handler是用來讓主執行緒(Main thread)與其它thread溝通用,
Android的特性是由main thread處理所有UI的變化,
因此,當你有其它thread要更新畫面時,就得透過handler去要求main thread去更新畫面,
在你的case中,雖然Service沒有UI畫面,但它還是負責整個APP的運作,
你不能讓main thread去sleep或讓main thread進入無窮loop去做事,
main thread只要超過5秒沒有回應,Android就會出現無回應的錯誤訊息了。
你可以用new thread去計算30秒,再透過handler去要求main thread去做某件事。
以上是小弟的淺見,有錯請糾正,謝謝。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 211.72.117.101
推
03/22 20:46, , 1F
03/22 20:46, 1F
→
03/22 20:46, , 2F
03/22 20:46, 2F
→
03/22 20:46, , 3F
03/22 20:46, 3F
→
03/22 20:46, , 4F
03/22 20:46, 4F
→
03/22 20:47, , 5F
03/22 20:47, 5F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):