后台线程,守护线程(Daemon Thread) 所谓的后台线程,就是指这种线程并不属于程序中不可或缺的部分,因此当所有的非后台线程结束时,程序也就终止了,同时会杀死进程中的所有后台线程。通过setDaemon(true)来设置该线程为后台线程。 结果 可以很清楚的看见当主线程结束之后,其他线程就没 ...
分类:
编程语言 时间:
2016-04-19 17:25:23
阅读次数:
159
1 AsyncTask实现的原理,和适用的优缺点
AsyncTask,是android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主线程.
使用的优点:
l 简单,快捷
l 过程可控
使用的缺点:
l 在使用多个异步操作和并需要进行Ui...
分类:
其他好文 时间:
2016-04-19 12:15:12
阅读次数:
525
在主线程中运行的部分,都可以直接使用Handler,因为在主线程启动的过程中(ActivityThread的main函数里)会调用Looper.prepareMainLooper(),Looper类中也直接定义了一个static的looper实例sMainLooper用于存放主线程的Looper,可 ...
分类:
移动开发 时间:
2016-04-18 18:56:14
阅读次数:
186
Handler就是android中一个机制,主要是考虑到线程安全的! Handler是可以实现线程间通信的,LZ知道Android的UI线程不安全的吧,也就是说不可以在UI线程以外的其他线程对UI进行更新设置操作,但是有时候又不能再UI主线程进行一些耗时操作,那样UI会响应很迟钝的,这时候就会新开一 ...
分类:
编程语言 时间:
2016-04-18 15:14:36
阅读次数:
179
单线程 单线程,就是只有一个线程。系统为应用程序分配一个主线程,该线程执行程序中以Main方法开始和结束的代码。 多线程 1.多线程的优点:要提高对用户的响应速度并且处理所需数据,以便几乎同时完成工作。 单个应用程序域可以使用多线程完成以下任务: 1).通过网络与Web服务器和数据库进行通信。 2) ...
分类:
编程语言 时间:
2016-04-17 14:38:14
阅读次数:
258
先说为什么需要Handler:
Android的主线程又叫UI线程,用于处理与UI相关的时间。Android只允许在主线程中修改UI组件,当我们在其他线程中需要修改UI界面时,就需要发送消息到主线程,再由主线程来处理UI的修改事件。
在UI线程中执行耗时操作或网络操作,否则会抛出ANR (“Application Not Responding”)异常或NetworkOnMainThreadExceptionwill异常。
在这些时候,我们用Handler来进行消息的传递和处理。...
分类:
移动开发 时间:
2016-04-17 06:54:56
阅读次数:
189
遇到的问题------为什么要是红asyncTask向服务器端发送一个http请求,服务器端返回给用户一些数据,然后将这些数据展示在ui当中这时候就会出现一种现象:因为android访问服务器必须放在子线程当中,而ui的更新数据又必须放在主线程当中,所以当主线程展示数据的时候,遇到一些..
分类:
移动开发 时间:
2016-04-16 19:41:58
阅读次数:
206
有这么一个需要,分别执行2个耗时的异步操作,等2个异步操作都执行完毕后在回到主线程执行操作。如果想要快速高效地实现这个需求,可以考虑使用调度组。
调度组的创建代码如下:
[objc] view
plain copy
dispatch_group_t group = dispatch_group_create();
往调度组里面添加任...
分类:
移动开发 时间:
2016-04-16 19:02:47
阅读次数:
206
概述
1. 概念
进程:程序在一个数据集合上运行的过程,是系统进行资源分配的独立单位。
线程:是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。
简而言之,进程是系统进行资源分配的最小单位,而线程是系统进行调度的最小单位。
2. 主线程
JVM启动后...
分类:
编程语言 时间:
2016-04-16 18:59:33
阅读次数:
294