UI线程简单了解

一些从事web开发的同学,可能对UI线程没有这个概念,没办法,毕竟“UI线程”这个概念只存在一些客户端(window客户端软件、app等)。下面就来简单地了解一下一下这几个概念,理解起来比用起来更简单。其实android在子线程中更新UI线程,一个方法就欧了,RunOnUiThread(System.Action action),这篇写给小白的,如果知道怎么使用这个方法,就没必要看下面的了。
主线程也叫UI线程
当一个程序启动的时候,系统自动创建一个主线程,在这个主线程中,你的应用(app、winform等客户端程序)和UI组件发生交互,负责处理UI组件的各种事件,所以主线程也叫UI线程。
UI组件的更新一定要在UI线程里
android为了线程安全,不允许在UI线程外的子线程操作UI,这个结论不仅仅是说android,这个概念同样适用于其他的客户端系统,它 的好处时提高客户端UI的用户体验和执行效率(稍后解释),防止线程阻塞。在java 原生的android中有两种方式更新UI线程

  • handler消息传递机制更新UI线程,http://www.runoob.com/w3cnote/android-tutorial-handler-message.html
  • AsyncTask异步任务更新UI线程http://www.runoob.com/w3cnote/android-tutorial-ansynctask.html
    AsyncTask是Android提供的一个轻量级的用于处理异步任务的类,只能说有点类似于C#中的Task
    android程序中使用异步避免ANR异常
    刚刚说了UI组件的更新一定要在UI线程中,当我们在主线程中发起请求>请求的执行(http请求耗时)>请求完成填充数据,更新UI组件。这一过程一旦超过了10秒钟就会抛出ANR异常(Application Not Responding)应用程序员不响应,所以网络请求耗时的操

更多相关文章

  1. Android事件总线之EventBus3.0基本使用
  2. 【整理一点资料】 Andorid的进程和线程模型
  3. [置顶] Android大事记(不断更新中)
  4. 如何在android的jni线程中实现回调
  5. Android(安卓)Jni中使用线程及回调更新UI
  6. 解决Only the original thread that created a view hierarchy c
  7. 一篇文章带你了解 Android(安卓)消息机制的原理!
  8. Android(安卓)Junit 单元测试、异步测试方法简介及异步测试框架
  9. Android(2)—Mono For Android(安卓)App版本自动更新

随机推荐

  1. Android中关于线程使用的几点注意事项
  2. Android实现View隐藏显示渐变动画
  3. Android toolbar与actionbar区别
  4. Android定时任务实现方式归纳总结
  5. Android热修复技术链接收集
  6. Android串口通信:串口读写实例
  7. Android之---RecycleView实现简单的图片
  8. Android Fragment 真正的完全解析(上)
  9. android不同Activity之间的数据共享
  10. Android兼容性问题 -- WebP格式图片解码