去五金店买个钻,不是因为我们需要钻,我们只需需要孔,既然五金店无法买孔,退而求其次,买打孔的工具。同样的对于后台线程,我们真正需要的是能够在UI主线程外进行处理,Android提供一个让程序员编写后台操作更为容易和透明AsyncTask。使用AsyncTask,需要创建AsyncTask的资料,并实...
分类:
移动开发 时间:
2015-03-30 01:09:13
阅读次数:
196
FutureTask实现了Runnable和Future接口,是一个可取消的异步任务。利用开始和取消计算的方法、查询计算是否完成的方法和获取计算结果的方法,此类提供了对 Future 的基本实现。仅在计算完成时才能获取结果;如果计算尚未完成,则阻塞 get 方法。一旦计算完成,就不能再重新开始或取消...
分类:
编程语言 时间:
2015-03-19 00:49:21
阅读次数:
208
Introduction
Callable接口代表一段可以调用并返回结果的代码;
Future接口表示异步任务,是还没有完成的任务给出的未来结果。
所以Callable用于产生结果,Future用于获取结果。
Callable接口:Java 5在concurrency包中引入了java.util.concurrent.Callable 接口,它和Runnable接口很相似,...
分类:
编程语言 时间:
2015-03-17 15:57:22
阅读次数:
197
Android中的多线程可以有多种实现方式,前面我们已经讲过了封装程度较高异步任务(AnsyncTask),这一节我们来看看较为灵活的方式:Handler Looper MessageQueue Message。Message:用于线程之间传递信息,发送的消息放入目标线程的MessageQueue中...
分类:
移动开发 时间:
2015-03-16 08:38:53
阅读次数:
196
转载请表明出处:http://blog.csdn.net/u012637501(嵌入式_小J的天空)
一、引言
我们知道Android的UI线程主要负责处理用户的按键事件、用户触屏事件及屏幕绘图事件等,对于其他的操作尽量不要在UI线程中实现,因为这些操作很有可能会阻塞UI线程,比如一些耗时操作,会导致UI界面停止响应,从而降低了用户的体验。所以,为了避免UI线程失去响应的问题,An...
分类:
移动开发 时间:
2015-03-13 22:27:00
阅读次数:
1531
转载请表明出处:http://blog.csdn.net/u012637501(嵌入式_小J的天空)
一、Android的事件处理
Android事件处理包括两个部分:Android事件处理机制(基本)和Android消息传递机制(进阶)。前者包含三种处理方式,即基于监听的事件处理、基于回调的事件处理、直接绑定到标签;后者包含两种处理方式,即Handler消息传递、异步任务处理。
...
分类:
移动开发 时间:
2015-03-13 20:46:34
阅读次数:
515
在 Xcode 6.0 之前实现异步功能的单元测试很困难现在通过expectation可以很容易实现异步功能的单元测试// 1. 定义一个"期望" -> 描述异步的需求,只是一个标记而已
let expectation = expectationWithDescription("xxxTask")// 2. 在异步任务完成后,通过一下方式标记"期望达成"
//expectation.fulfill(...
分类:
其他好文 时间:
2015-03-04 11:10:26
阅读次数:
132
handler使用流程概要首先在主线程新建一个handler实例,重写onhandlemessage(Message msg) 方法,对传过来的message进行处理然后在子线程中完成操作,操作完成后新建一个message对象,调用handler实例的sendmessage方法,将message传给...
分类:
其他好文 时间:
2015-02-27 06:40:21
阅读次数:
139
public void TryAsyncActionRecursively( string asyncActionName, Func> asyncAction, Action mainAction, Action successAction, Func getCont...
分类:
其他好文 时间:
2015-02-26 16:35:30
阅读次数:
173
1、首先,android的文件下载需要以下几个权限:
2、因为文件下载是一个长时间的任务,不能在UI线程中更新,需要另外开辟一个新的线程来进行下载的工作,在这里我们用Android封装的异步任务类——AsyncTask,这个类来完成一些长时间进行的工作:
private class DownloadAppTask extends AsyncTask {
private...
分类:
移动开发 时间:
2015-02-09 14:13:27
阅读次数:
1633