一、知其所以然
Android为什么会引入异步任务处理?
首先我们来先了解一些相关的知识。当一个Android程序启动时,Android系统会同时启动一个对应的主线程(Main Thread)。由于这个主线程(Main Thread)主要的任务就是对UI相关的事件进行处理(例如显示文本,处理点击事件,显示图片等),系统对每一个组件的调用都是从主线程中分发出去的,所以又常被称为UI线程。安卓单线程模型的核心原则就是只在UI线程中对UI进行处理。
在实际应用中经常会遇到比较耗时任务的处理,比如网络连接,数据库操作等情况时,如果这些操作都是放在主线程(UI线程)中,则会造成UI的假死现象(android4.0后也不许放在UI线程),这可以使用AsyncTask和Handler两种异步方式来解决这种问题。
二、
异步任务被定义为运行在后台线程而其计算结果发表在UI线程上。
网友评论