iOS 基础知识整理(不间断更新)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS 基础知识整理(不间断更新)相关的知识,希望对你有一定的参考价值。

1.内存管理黄金法则

  如果使用了new、alloc或copy方法获得一个对象,则必须释放(release)或自动释放(autorelease)该对象

2.内存释放池

  加上autorelease,就是在内存释放池中登记了,这个对象要释放,不过得等会,等到内存释放池执行drain或者release方法了,那么池中登记的对象也全部释放

  内存释放池 :内存释放池就是NSAutoreleasePool。这个池(pool)类似数据结构中的堆栈(Stack),相当于一个容器,每次对象调用autorelease方法时(obj-c中的正式说法应该是:对象发送autorelease消息),对象的引用计数并不真正变化,而是向pool中添加一条记录,记下对象的这种要求。最后当pool发送drain或release消息时,池中的所有对象的这种要求一一被执行(即:pool被销毁前,会通知池中的所有对象,全部发送release消息真正将引用计数减少,如果对象之前有发送过autorelease消息)

3.原子atomic 和 非原子nonatomic的区别 

  atomic:线程安全,需要消耗大量资源         nonatomic:非线程安全,适合内存小得移动设备

 

以上是关于iOS 基础知识整理(不间断更新)的主要内容,如果未能解决你的问题,请参考以下文章

面向对象基础——类与对象的定义

java基础知识总结--类与对象

Java坦克大战游戏开发

c++基础篇——类与对象入门(下)

python之基础篇——类与面向对象

阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_09 序列化流_3_对象的反序列化流_ObjectInputStream