Android中的UI刷新

UI线程

  • 在应用启动时,系统会创建一个主线程(main Thread),这个主线程负责向UI线程中分发事件,所以main Thread 也就UI线程

  • 所有刷新UI分为主线程刷新UI子线程刷新UI

主线程刷新UI

  • 系统不会为每个组件单独创建一个线程,在同一进程里,UI组件都会在UI线程当中被实例化,系统会给每一个组件的调用都从UI线程当中发出去。

  • 耗时操作一般不能放在UI线程中,否则很容易出现ANR

子线程刷新UI

  • 为了将一些诸如耗时操作等放在background中避免ANR就要涉及到在子线程中刷新UI了。
  • android官方为子线程刷新UI提供了如下三种方式
    • activity.runOnUiThread(Runnable)
    • View.post(Runnable)
    • View.postDelayed(Runnable,long)

自创实现子线程刷新UI

  • 利用一个Handler来负责接收然后处理消息;
    • 可以为一个子线程new一个Handler,也可以new一个Handler用于连接线程

你可能感兴趣的:(android学习)