内存泄露的检测
可使用sdk自带的工具instruments进行检测,他相当于一个IDE,除了内存泄露还可以检查很多程序问题,例如执行时间,运行性能等等。
刚开始不会用的时候犯了个错误:使用了常量字符串进行泄露检测:
原因在于第一种情况下,常量字符串作为静态存储,他的生命周期直到程序结束,又NSString是不可改变的,因为编译器将其优化为共享静态存储,因此作用于这个NSString object上的release没有效果。
第二种情况是可变字符串,此时将不得不为"leak2"重新生成一个object而不能共享静态存储。