做android开发的都知道,我们在主线程中不能进行耗时太久的操作,否则就可能报ANR,所有耗时的操作都要异步进行。android中的异步方法也很多,可以用Handler,可以用Thread及Runnable等。今天我们用安卓自带的异步工具AsyncTask来实现耗时操作:从网络下载文件。先对AsyncTask作个简单的介绍,下面的介绍也主要是参考网上资料:
1,AsyncTask定义...
分类:
其他好文 时间:
2015-03-06 19:18:11
阅读次数:
194
//主线程 public delegate void UpdateMessage(string mes); public void UpdatePortMessage(string mes) { this.txtMessage.AppendText(string....
分类:
编程语言 时间:
2015-03-06 16:15:34
阅读次数:
156
Handler的定义: 主要接受子线程发送的数据, 并用此数据配合主线程更新UI. 解释: 当应用程序启动时,Android首先会开启一个主线程 (也就是UI线程) , 主线程为管理界面中的UI控件,进行事件分发, 比如说, 你要是点击一个 Button, Android会分发事件到Button上,...
分类:
移动开发 时间:
2015-03-05 22:10:17
阅读次数:
197
在第二篇文章《Android中利用Handler实现消息的分发机制(一)》中,我们讲到主线程的Looper是Android系统在启动App的时候,已经帮我们创建好了,而假设在子线程中须要去使用Handler的时候,我们就须要显式地去调用Looper的 prepare方法和loop方法,从而为子线程创...
分类:
移动开发 时间:
2015-03-05 16:42:43
阅读次数:
173
下面两段代码都在主线程中运行,我们在看别人代码时会发现有时会直接调用,有时会利用performSelector调用,今天看到有人在问这个问题,我便做一下总结,[delegateimageDownloader:selfdidFinishWithImage:image];[delegateperform...
分类:
其他好文 时间:
2015-03-04 16:44:08
阅读次数:
114
初识golang,这部分也不是很了解,百度了一下,做个小记录goroutine是golang用来做并发处理的,使用起来很简单 go func(){...}(),就是看起来随便用一般而容易go的滥用,所以使用时要仔细斟酌才好。channel 大约是用来在线程间传递数据的,主线程开通一个channel,...
分类:
其他好文 时间:
2015-03-04 14:32:48
阅读次数:
163
在Android系统里的线程分为有消息循环的线程和没有消息循环的线程。我们上一节介绍的应用程序主线程就是一个有消息循环的线程,而通过直接继承Thread类的线程是没有消息循环的线程,当然我们也可以通过在线程里调用Looper.prepare(),让系统为该线程建立一个消息队列。下面我们介绍两种常用的...
分类:
编程语言 时间:
2015-03-04 12:34:38
阅读次数:
183
首先发起一个网络请求,请求到图片的url后再去请求图片。请求图片后返回到主线程处理private Runnable myRun;private DefaultHttpClient httpClient;private Object result;public void request(final S...
分类:
其他好文 时间:
2015-03-04 00:51:12
阅读次数:
118
1、同步请求可以从因特网请求数据,一旦发送同步请求,程序将停止用户交互,直至服务器返回数据完成,才可以进行下一步操作,2、异步请求不会阻塞主线程,而会建立一个新的线程来操作,用户发出异步请求后,依然可以对UI进行操作,程序可以继续运行3、GET请求,将参数直接写在访问路径上。操作简单,不过容易被外界...
分类:
移动开发 时间:
2015-03-03 20:28:38
阅读次数:
165
Service是运行在后台的服务,不和用户交互的应用组件。和Activity一样,每个Service必须在Manifest中通过声明才能使用。可以通过startservice和bindserverice来启动。Service和其他的应用组件一样,运行在主线程中。这就是说如果service需要很多耗时...
分类:
移动开发 时间:
2015-03-03 18:19:06
阅读次数:
170