[精通iOS开发(第5版)]第15章 Grand Central Dispatch和后台处理笔记

原创 2015年07月08日 22:21:50

本章主要讲述如何在IOS设备上进行多线程编程的问题。

为此,苹果公司提供了GCD技术进行任务的分派。

另外还添加了block语言功能:

block可以在把代码块传递给另一个方法或函数的位置进行定义,即所谓的内联方式定义。(感觉这个特性只是增加了代码块的可读性)

block可以访问在创建它的范围内可用的变量。(这是一个比较实用的特性,避免了大量参数的传递)

block可以以读/写的方式访问以__block修饰的变量。(这样就可以进行不同线程间的数据交互)

GCD提供了dispatch_get_main_queue()方法获取主线程队列,在非主线程中可以往此队列中添加block以操作UI。(因为UI是非线程安全的,所以需要由主线程更新)

GCD提供了dispatch group来进行并行操作,添加到同一个group内的所有程序块可以并行进行执行;还可以通过dispatch_group_notify方法在当前group内的所有程序块都执行完毕后再执行接下来的操作。


2015-07-08 22:20:33


本章的第二部分主要讲述了应用程序的运行状态(未运行、活动、不活动、后台、挂起);

其中未运行、挂起状态一般无法进入,所以不会去处理;开发人员需要处理的就是应用程序在活动<-->不活动<-->后台三个状态之间进行切换时的四个委托方法或者通知;

尤其是从不活动状态进入到后台状态时,由于在5秒后应用程序将会被挂起,所以此时需要考虑大量的处理(比如释放文件图片资源、断开网络连接;保存当前界面信息)以减少应用程序对于内存的占用;

而且在进入到后台状态时,可以使用UIApplication的beginBackgroundTashWithExpirationHandler:方法请求获得更多的停留时间,以避免进入挂起状态。

版权声明:本文为博主原创文章,转载请注明出处。 举报

相关文章推荐

精通iOS开发--第15章 Grand Central Dispatch和后台处理之程序生命周期 NSNotificationCenter和线程

第15章 Grand Central Dispatch和后台处理之程序生命周期 15.6.1 应用生命周期 我们来探讨一下应用的生命周期有哪些状态。 一个空白demo,默...

精通iOS开发--第15章 Grand Central Dispatch和后台处理之Block与Self的循环引用

Block与Self的循环引用 01:众所周知若self中引用了Block块,而此Block块中又引用了Self则会造成循环引用,需要提醒的是即使在你的block代码中没有显式地出现"self"...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

精通iOS开发-第15章 Grand Central Dispatch和后台处理

第15章 Grand Central Dispatch 和 后台处理 15.3 线程基础知识     一个进程中的所有线程共享可执行程序代码和全局数据。每个线程也可以以拥有一些独有的...

#iOS# Grand Central Dispatch 后台处理及应用

GCD的作用 : 可以执行复杂操作来响应用户的输入, 同时保持迅速响应, 使用户不会在处理器执行某些后台任务时长时间等待.注意 : 在 Cocoa Touch中, Foundation 框架 (...

iOS开发--多线程编程(四)GCD(Grand Central Dispatch)

GCD (Grand Central Dispatch)  GCD 底层也是用线程来实现,指示苹果帮咱们封装了具体操作的方法,这样可以让程序员不用关注实现的细节,只需要专注功能的实现  ...

iOS线程开发之--BLOCK & GCD(Grand Central Dispatch)

GCD是apple在iOS 4.0之后引入的新多线程方法,它是基于C语言的扩展, GCD是在内核级提供多线程管理的,效率较高。 GCD的关键之一是队列,系统提供了一些预定义的队列,其中包括主线程队...

iOS线程开发之--BLOCK & GCD(Grand Central Dispatch)

GCD是apple在iOS 4.0之后引入的新多线程方法,它是基于C语言的扩展, GCD是在内核级提供多线程管理的,效率较高。 GCD的关键之一是队列,系统提供了一些预定义的队列,其中包括主线程队...

[IOS/翻译]GCD-1 Grand Central Dispatch

本文是本人自己辛苦翻译的,请转载的朋友注明,翻译于Z.MJun的CSDN的博客 http://blog.csdn.net/Zheng_Paul,感谢! 翻译于2016年5月12日Grand ...

iOS多线程编程之Grand Central Dispatch(GCD)介绍和使用

介绍: Grand Central Dispatch 简称(GCD)是苹果公司开发的技术,以优化的应用程序支持多核心处理器和其他的对称多处理系统的系统。这建立在任务并行执行的线程池模式的基础上的...

IOS多线程编程之Grand Central Dispatch(GCD)介绍和使用

介绍: Grand Central Dispatch 简称(GCD)是苹果公司开发的技术,以优化的应用程序支持多核心处理器和其他的对称多处理系统的系统。这建立在任务并行执行的线程池模式的基础上的。它...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)