前言:很多小的App只需要一个ManagedContext在主线程就可以了,但是有时候对于CoreData的操作要耗时很久的,比如App开启的时候要载入大量数据,如果都放在主线程,毫无疑问会阻塞UI造成用户体验很差。通常的方式是,主线程一个ManagedContext处理UI相关 的,后台一个线程的...
分类:
编程语言 时间:
2015-10-08 10:16:06
阅读次数:
260
GCD的使用:1.队列的类型 1.1 主队列:mian queue,主线程队列,负责更行UI的操作。是一个串行的队列。 1.2 系统默认的并行队列:global queue,按优先级分类。 1.3 自定义的队列:可以创建串行队列或者是并行的队列2.任务 2.1 封装的形式:block方法或C...
分类:
移动开发 时间:
2015-10-07 18:57:40
阅读次数:
160
举例子:创建多个图片在子线程上下载,下载完成后在返回到主线程上:
分类:
编程语言 时间:
2015-10-07 17:32:30
阅读次数:
140
1. 引子 在面试过程中曾见过这样一道笔试题,选择你认为对的答案 A.所有对象的dealloc方法会在主线程调用 B.一个对象的dealloc方法会在分配该对象的线程被调用 C.一个对象的dealloc方法会在该对象的引用计数变为0的线程被调用 D.手动调用的当前线程中 当时对此题没有明确的答案,回...
分类:
编程语言 时间:
2015-10-07 14:40:31
阅读次数:
492
NSOperation具体使用:直接继承NSObject它的子类有:NSBlockOperation、NSInvocationOperation还有一个必须的类,队列,用来装创建的线程NSOperationQueue理解:这个方式是如何实现多线程呢?是通过操作队列来实现多线程的。即主线程是一个主队列...
分类:
移动开发 时间:
2015-10-06 23:37:43
阅读次数:
271
如何让安卓程序在有限的内存和电池资源下流畅快速有效率的运行,下面给出了10种实践中的建议:有效的线程1. 如何使用后台线程以避免前台负载过荷?默认情况下,应用程序的所有操作都是在前台的主线程(UI线程)上运行的,应用程序响应能力可能会受到影响,会导致当机,死机,甚至系统错误。为了提升反应能力,应该将...
分类:
移动开发 时间:
2015-10-06 22:08:18
阅读次数:
248
//创建主线程的handlerprivate Handler handler = new Handler(){ public void handleMessage(Message msg) { Messagemessage= new Message(); //向子线程发消息 th...
分类:
编程语言 时间:
2015-10-06 14:11:26
阅读次数:
179
一、Handler的定义:Handler主要接收子线程发送的数据, 并用此数据配合主线程更新UI,用来跟UI主线程交互用。比如可以用handler发送一个message,然后在handler的线程中来接收、处理该消息,以避免直接在UI主线程中处理事务导致影响UI主线程的其他处理工作,Android提...
分类:
其他好文 时间:
2015-10-06 14:04:36
阅读次数:
375
多线程:一、概念1、什么是进程? 程序的一次性执行就是进程。进程占独立的内存空间。2、什么是线程? 进程中的代码的执行路径。3、进程与线程之间的关系?每个进程都要创建一个线程,叫主线程。主线程是其他所有线程的父线程。多个线程共享进程之间的内存空间。4、单核与多核处理器下多线程的不同? 单核处理器:一...
分类:
移动开发 时间:
2015-10-06 12:48:56
阅读次数:
166
RequestQueue会维护一个缓存调度线程(cache线程)和一个网络调度线程池(net线程)(注意,这是一池子线程),当一个Request被加到队列中的时候,cache线程会把这个请求进行筛选:如果这个请求的内容可以在缓存中找到,cache线程会亲自解析相应内容,并分发到主线程(UI)。如果缓...
分类:
其他好文 时间:
2015-10-05 23:19:31
阅读次数:
276