
本文共 4358 字,大约阅读时间需要 14 分钟。
Android���������������������������������������������
���Android���������������������������������������������������������������������������������������������������������������������������������������������Handler���������������������������������������������������������������������������������UI���������
1. ���������������������
���������������������������������Thread
������������������������������������������������������������������
new Thread() { @Override public void run() { // ������������������������������������������������ }}.start();
������start()
������������������������������������������������������������������������������������������������������������������������������������������������������������������
2. ���������������������Handler������
������������������������������Android���������Handler
���������������������������������������������Handler
���������������������������������������������������������UI������������������������������������������������
private Handler handler = new Handler() { @Override public void handleMessage(Message msg) { switch (msg.what) { case 1: // ���Message������what���������1������������������UI������ // ��������������������������������� break; default: break; } }};// ������������������������������new Thread() { @Override public void run() { handler.sendEmptyMessage(1); }}.start();
- **sendEmptyMessage(int)**���������������������������������������������
msg.what
���������������������������������������1������ - ������������������������������
handleMessage
���������������������������������������������UI���������������
3. ������������
���������������������
������new Thread()
���������������������������������������run()
������������������������������������������������������start()
��������������� Handler���������
Handler
������Android������������������������������������������������������������������MessageQueue���������������������������������������������������������������������������handleMessage
��������������� ������������������������
���sendEmptyMessage
���������������������������������������msg.what
���������������������������������������������������������������������msg.what
������������������������������������������������������ UI���������������
������������������������������UI���������������������������Handler
���������������������sendMessage
���������������������������������������runOnUiThread
���������������Handler
��������������������������������������� 4. ������������
���������������������������
import android.os.Handler;import android.os.Message;public class MainActivity extends AppCompatActivity { private Handler handler = new Handler(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // ��������������������������������������������� Button button = findViewById(R.id.button); // ��������������������������������� new Thread() { @Override public void run() { handler.sendEmptyMessage(1); } }.start(); } @Override public void handleMessage(Message msg) { super.handleMessage(msg); switch (msg.what) { case 1: // ������������������ button.setText("������������������"); break; default: break; } }}
5. ������������
������������
���������������������������������������������������������������synchronized
���������������Thread FAT spherical
��������������������������� UI���������Atomicity
Android������������runOnUiThread
���Handler
������������������������UI���������������������������������������������������������������������������UI������������������������������������������������������ ������������
������������������������������������������������������������������������������������������������������������������������������IntentService
���AsyncTask
������������ ������������������������������������������������������������������������������������UI������������������������������������������������������������������������������������������������UI������������������������
发表评论
最新留言
关于作者
