iOS点点滴滴架构师之路

谈谈iOS一些有点模糊知识点的区别

2016-04-05  本文已影响122人  LennonLin

谈谈iOS一些有点模糊知识点的区别

[TOC]

readwrite/readonly/retain/release/assin/copy/strong/weak/nonatomic/atomic 作用和使用情况

修饰的对象:有对应可变版本的属性内存管理都声明为copy,比方说NSString,NSArray,NSDictionary,防止值被改变(使用strong可能被修改)。
还修饰block,MRC下block在栈中,需要copy到堆中,而RAC下使用strong也可以的,但是编译器会自动对block进行copy操作,而程序猿可能不知道会再次copy,这样会很低效

内存管理原则

MRC 人工引用计数

ARC 自动引用计数

MRC和ARC下的混编

堆和栈的区别

分配的方式

内存大小

内存扩展方向

系统是链表来存储空闲的内存地址,所以不是连续的,链表的遍历方向由低地址向高地址,所以获得空间灵活并且大

管理原则

进出方式和效率

进程和线程的区别

进程

线程

图片尽量是PNG,使用其他的要加后缀。

UIImage imageNamed方式加载方式和init方式区别

上一篇下一篇

猜你喜欢

热点阅读