2018-04-24

第五章:内存管理

29. 什么是ARC:对象被引用的次数。
30. ARC 下可以用“静态分析器”查找内存泄漏问题
31. 在dealloc 里面只释放引用和解除监听

执行异步的方法不应该在dealloc里面执行,因为此时对象已经处于回收状态了

32. 编写异常安全代码时注意内存问题:try-catch-finally
33. 以弱引用来避免保留环

unsafe_unretained 相当于assgin ,声明表示属性可能不安全,系统回收后,在其上调用方法可能使程序崩溃。
区别在于前者修饰对象类型,后者assgin 修饰基本类型
weak 和上述内存语义相同,不同的是对象被回收后,会自动置为nil,这是一个安全的特性。

34. 用自动释放池@autoreleasePool降低内存峰值
35. 用僵尸对象调试程序:scheme->
36. 不要使用retainCount:无用的方法

ARC已经废弃,不能使用,即使再MRC下也是不准确的,只代表某个时间点上的值,并未考虑系统稍后会把自动释放池清空后的状态;另外可能永远都不会返回0,比如系统会优化对象的释放行为,在等于1的时候就回收了

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容