Android 多线程意义

1.为什么要用多线程

  1. 提高用户体验,避免ANR;
  2. 异步处理事件(例如网络查看图片时,先显示占位图,等图片加载完成后,再显示图片);
  3. 多任务(例如一款音乐APP可以支持播放,歌词查看,列表查看等功能);

2.为什么多线程可以避免ANR

  • ANR: APP在5s内未响应用户的操作,或者是BroadcastReciever 超过10s未处理完;
  • 事件处理原则: 所有可能耗时的任务放在非主线程去处理;
    Android主线程包括:UI绘制;控件事件处理;通俗来讲,在代码中on开头的,就是属于主线程的任务,例如onCreate()、onClick()等; 一般而言,在Activity的生命周期onCreate();onStart();onResume()的执行时间决定了APP打开的响应速度,所以不要把一些耗时操作放在里面处理,尽量放在其他线程;

3.多线程通信

  • Handler (后面会继续总结,今天只是列出)
    1.Handler;
    2.Looper
    3.Message
    4.MessageQueue;
  • AsynsTask
    谷歌帮忙封装的一种框架,即使不清楚多线程也没关系。(后面会总结)
上一篇:Prometheus之服务发现介绍


下一篇:PG守护进程(Postmaster)——进程信号通信机制