面试题六:异步消息处理机制
发布日期:2021-05-14 18:09:37 浏览次数:18 分类:精选文章

本文共 5196 字,大约阅读时间需要 17 分钟。

Handler���AsyncTask������������������

Android������������Handler���AsyncTask���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������


������Handler������

Handler���������������������������������������������������������������Android������������Handler������������������Looper���������������������������������������������������������������������������������

  • ���������������������sendEmptyMessage(int)������������������������������������
  • ������������������������Runnable���������������������post Runnable���������������������������
  • ���������������������.post()���.removeCallbacks()������������������������������������������������������
  • Handler���������������android.os.Handler���������������������������������������������������������������������������������������������


    ������Handler���������������

    ���������������������������Handler������������������������������������

  • ������������������������������������Activity���Fragment������������������������WeakReference������������
  • ������������������������UI������������������������������������������Thread��� HandlerThread������������������������
  • ���������������������removeCallbacks()���������������������������������������������������������������
  • ������������������������������������������

    public class HandlerLeakActivity extends AppCompatActivity {
    private static class MyHandler extends Handler {
    private final WeakReference
    mActivityRef;
    public MyHandler(HandlerLeakActivity activity) {
    mActivityRef = new WeakReference<>(activity);
    }
    @Override
    public void handleMessage(Message msg) {
    HandlerLeakActivity activity = mActivityRef.get();
    if (activity != null) {
    // ...������������
    }
    }
    }
    private final MyHandler myHandler = new MyHandler(this);
    private static final Runnable mRunnable = new Runnable() {
    @Override
    public void run() {
    // ...������������
    }
    };
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_handler_leak);
    myHandler.postDelayed(mRunnable, 1000 * 60 * 10);
    finish();
    }
    @Override
    protected void onDestroy() {
    super.onDestroy();
    myHandler.removeCallbacks(mRunnable);
    }
    }

    ���������������������Handler���������������������������������������������Activity���������������������������������������������������


    ������AsyncTask������

    AsyncTask���Android���������������������������������������������������������������������������Handler���������������������������������������������������������

  • ���������������������������AsyncTask���������������������������������������������������������������������������������������������������
  • ���������������������������execute()������������������������������UI������������������������������������UIBinder���������������������
  • ��������� NotificationCenter���AsyncTask internally handles task progress updates and results via Handler���

  • ������AsyncTask���������������������

    ���������AsyncTask������������������������������������������������

  • ������������������������onPostExecute()���onProgressUpdate()��������������������� Activity ���������������������������������
  • ������������������������������������UIBinder������������������������UI���������������������������������
  • ������������������������AsyncTask���������������������������������������������������������������������������������

  • ������HandlerThread���������������

    HandlerThread������������������������������������������������������������

  • ������Looper���������HandlerThread������������������Looper������������������������������������������������������
  • ������������������������������������������������������������UI���������������������
  • ���������������������������looper.current().post()���������HandlerThread���������������
  • HandlerThread���������������������������������������������������������������������������������������������������������������������������


    ������IntentService������������

    IntentService������������������������������������������Service���������������������������

  • ������������������IntentService������������������������������������������������Service���������������������stopSelf()���������
  • ������������������������������������������������������������������������������������Service���onHandleIntent������������������������
  • ������Load ������thod������������������������������������������������������������
  • ������ IntentService ������������������������������������������������������������������������������������������������������������


    ������

    ���������Handler���AsyncTask���Android������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

    上一篇:AsyncTask相关知识
    下一篇:进程(Process)

    发表评论

    最新留言

    初次前来,多多关照!
    [***.217.46.12]2025年04月11日 02时04分49秒