包建强的培训课程(12):iOS深入学习(内存管理、Block和GCD等)

时间:2023-03-09 08:11:07
包建强的培训课程(12):iOS深入学习(内存管理、Block和GCD等)

@import url(/css/cuteeditor.css);
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);

Normal
0

10 pt
0
2

false
false
false

EN-US
ZH-CN
X-NONE

$([{£¥·‘“〈《「『【〔〖〝﹙﹛﹝$(.[{£¥
!%),.:;>?]}¢¨°·ˇˉ―‖’”…‰′″›℃∶、。〃〉》」』】〕〗〞︶︺︾﹀﹄﹚﹜﹞!"%'),.:;?]`|}~¢

/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:12.0pt;
font-family:Cambria;
mso-ascii-font-family:Cambria;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Cambria;
mso-hansi-theme-font:minor-latin;
mso-font-kerning:1.0pt;}

iOS内存管理

一 简介

结合讲师5年来一线工作经验,以及对iOS的深刻理解,整理出这个课程,涉及iOS内存、Block、GCD和Category的原理和使用。

本课程系列适合于从事iOS开发1-2年的技术人员,帮助他们巩固基础,从而在ARC开发环境下高效的使用GCD、Block和Category,减少因语法使用不当导致的bug数量,在高强度的企业级开发工作中尽早成长起来。

二 课程大纲(1天)

第1讲
内存管理

l   引用计数

n   现实中的例子

n   内存管理的四点原则

n   alloc/retainCount/retain/release方法的实现

n   autorelease

n   AutoreleasePool

l   ARC规则

n   规则概要

n   4种所有权修饰符

n   再谈autorelease和AutoreleasePool

n   ARC规则

n   ARC中的属性

第2讲
Block

l   Block语法

l   Block实现

第3讲 GCD

l   GCD语法

l   GCD实现原理

第4讲 Category

l   Category语法

l   Category原理

第5讲 ARC内存管理实战

l   解决timer和调用对象之间的循环引用

l   解决block循环引用

l   使用Leaks和Allocation工具检查内存泄漏

l   UIImage 的2种加载方式对内存的影响

l   使用队列,解决对同一个资源竞争读写的问题

Normal
0

10 pt
0
2

false
false
false

EN-US
ZH-CN
X-NONE

$([{£¥·‘“〈《「『【〔〖〝﹙﹛﹝$(.[{£¥
!%),.:;>?]}¢¨°·ˇˉ―‖’”…‰′″›℃∶、。〃〉》」』】〕〗〞︶︺︾﹀﹄﹚﹜﹞!"%'),.:;?]`|}~¢

/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:12.0pt;
font-family:Cambria;
mso-ascii-font-family:Cambria;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Cambria;
mso-hansi-theme-font:minor-latin;
mso-font-kerning:1.0pt;}



@import url(/css/cuteeditor.css);