-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