本文主要探讨Android平台提供的各种异步加载机制,包括它们的适用场景、使用方法等。1. AsynTaskAsynTask适用于最长可以持续几秒钟的短时间的操作,对于长时间的操作,建议使用java.util.concurrent包下的多线程框架。定义一个AsynTask时需要提供以下三个泛型参数的实际类型:
Params:被传递给后台线程执行的参数的类型
Progress:后台线程执...
分类:
移动开发 时间:
2015-06-03 17:37:38
阅读次数:
182
每个Android应用程序都运行在一个dalvik虚拟机进程中,进程开始的时候会启动一个主线程(MainThread),主线程负责处理和ui相关的事件,因此主线程通常又叫UI线程。而由于Android采用UI单线程模型,所以只能在主线程中对UI元素进行操作。如果在非UI线程直接对UI进行了操作,则会...
分类:
移动开发 时间:
2015-05-04 08:38:21
阅读次数:
199
在上一篇(http://blog.csdn.net/xlgen157387/article/details/45269389)中介绍了使用Thread+Handler实现非UI线程更新UI界面的方法步骤,下边做一下如何同构AsyncTask异步任务来更新UI界面。(1)AsyncTask的介绍通过上图中的AsyncTask的源码结构图可以看到,主要用于重载的方法是doInBackground(),o...
分类:
移动开发 时间:
2015-04-25 13:44:18
阅读次数:
263
在UI线程中要执行耗时操作时,我们可以使用AsyncTask进行异步操作,使耗时的异步操作可以在子线程中进行,最后将执行结果返回给UI线程,下面来看下AsyncTask的源码。
首先来看下,AsyncTask的变量和常量:
private static final int CPU_COUNT = Runtime.getRuntime().availableProcessors();
p...
分类:
其他好文 时间:
2015-03-10 15:31:02
阅读次数:
130
在Android开发中常常会遇到网络请求,数据库数据准备等一些耗时的操作;而这些操作是不允许在主线程中进行的。因为这样会堵塞主线程导致程序出现未响应情况。
所以只能另起一个子线程进行这些耗时的操作,完成后再显示到界面。众所周知,界面等控件操作只能在主线程中完成;所以不可避免的需要从子线程切换到主线程。
对于这样的情况在Android 中比较常见的是使用AsynTask类或者 Handler,这里是对 Handler的封装使其简单化,明了化;达到随时随地从子线程切换到主线程。...
分类:
移动开发 时间:
2014-11-30 10:21:30
阅读次数:
238
android提供了一套专门用于异步处理的类。即:AynsTask类。使用这个类可以为耗时程序开辟一个新线程进行处理,处理完时返回。其实,AsynTask类就是对Thread类的一个封装,并且加入了一些新的方法。编程时,两者都可以实现同样的功能。本文后面将对AsynTask和Thread进行比较。1...
分类:
移动开发 时间:
2014-11-25 18:00:53
阅读次数:
287
基本的参考 :http://www.cnblogs.com/devinzhang/archive/2012/02/13/2350070.htmlhttp://www.cnblogs.com/dawei/archive/2011/04/18/2019903.html深入的:http://blog.cs...
分类:
其他好文 时间:
2014-11-23 01:50:02
阅读次数:
135
ListView使用 ActionBar导航 基于ListView的下拉刷新和点击加载更多 制作左滑菜单 制作模仿微信的Tab,用layout 、ViewPager、Fragment实现 AsynTask异步加载和网络通信框架Volley 制作类似新浪微博的简易APP 制作...
分类:
移动开发 时间:
2014-11-15 12:57:41
阅读次数:
200
最近在项目中有个下载模块,我介绍一下我的实现思路:
1.多线程:自己开启另一个线程来进行下载处理(可以直接使用Handler:不推荐使用、Thread类以及AsynTask等方式的线程实现)
2.服务:开启一个下载的Service来专门进行下载操作
当然上面两种凡是实现都是没有问题的,也能达到下载的功能实现。可总觉得都各有不好的地方。
首先,线程的方式,因为线程的生命周期主要依赖于它所在的...
分类:
移动开发 时间:
2014-11-02 09:27:02
阅读次数:
214
1、AsynTask类结构asysTask类主要用到的几个内部回调函数有:doInBackGround()onPreExecute()onPostExecute()onProgressUpdate()复制代码正是这几个回调函数构成了AsynTask类的使用逻辑结构。注意:每个AsynTask子类必须...
分类:
移动开发 时间:
2014-10-24 18:48:33
阅读次数:
252