内存管理

  1. 因为对象只能通过指针访问,所以常用只想对象的指针来称呼该对象。例如:now是一个NSDate实例。(*记住指针和它指向的对象是不同的,准确的说法是:now是一个指针变量,它保存了NSDate实例在内存中的地址)。
  2. 内存管理:其实是管理堆。栈是由有序的帧构成的,函数的帧在函数结束后会自动释放,而堆里的对象不会自动释放。
  3. 自动销毁不被引用的对象的机制成为ARC。ARC是自动引用计数(automatic reference counting):每个对象都会对只想自己的指针进行技术,当引用数为0时,就会认为不需要该对象了,程序会自动销毁该对象.
  4. 只要有一个指针指向对象,这个对象就会继续存在。申请缓冲区,调用free()函数来销毁对象是清理的最干净的方法。使用ARC,只能通过增加或减少对对象的引用数来保留或者销毁对象。
  5. 如果不需要某个对象,则可以将指向他的指针设置为nil,或者销毁它的指针(指针销毁,则它指向的对象会失去一个引用)。

你可能感兴趣的:(内存管理)