-1
我最近一直在開發一些基本的Android應用程序,並注意到一個有點奇怪的行爲,我相信這是我自己的錯誤行爲。UI線程問題
這個問題似乎與我用於更新UI和一些處理(如通過藍牙發送消息)的主線程有關。
比方說,我有以下幾點:
public void sendMessage(){
updateUI();
sendBtMessage();
}
public void updateUI(){
txtView.setText("Sending message");
progressbar.setVisibility(View.VISIBLE);
}
public void sendBTmessage(){
... connect to BT and send message here
}
當我運行我的代碼,這似乎是運行sendBtMessage首先作爲被髮送的消息後顯示的UI更新(我會在發送消息之前喜歡它) 。這是因爲主線程的優先級是首先完成最重的工作負載?
主線程應該只用於更新UI嗎?
任何意見或建議,將不勝感激。
請張貼在sendBTmessage執行代碼。答案真的取決於你如何連接 –
你從哪些回調方法調用每個函數? – Sitram
你還可以從哪裏調用sendMessage()。爲任何勞動密集型任務提供asyncTasks可能是一個好主意,所以你的UI不是瓶頸 – erik