iOS 管理内存的方式 - 用户态接口层面

2019-12-05  本文已影响0人  iOS小童

内存消耗:内存消耗指的是RAM(随机存取存储器),应用中的内存消耗分为栈大小和堆大小。ROM(Read-Only Memory)即只读内存,是一种只能读出事先所存数据的固态半导体存储器

  1. 自动释放池块:他能确保在块内创建的对象在块完成时被回收,尽早的释放其中的对象,从而使内存用量保持在较低的水平。AppKit和UIKit框架将事件-循环的迭代放入了autoreleasepool块中,所以自动释放池块无处不在。但在一些特定的情况下,还需要创建autoreleasepool块:
  1. ARC规则
  1. 引用类型
  1. 变量、属性限定符
  1. 循环引用

    常出现的循环引用:

避免循环引用:

  1. 观察者
  1. 对象寿命与泄漏

尽量尽可能地避免出现长寿命的对象,也要不必每次都浪费时间来创建它们。所以合理使用单例和全局变量。

单例应该满足(避免使用,会增加启动时间):

全局变量必须满足:(少使用,占内存)

避免以上问题,合理应用属性去减少内存的消耗,降低平均和峰值内存。

上一篇下一篇

猜你喜欢

热点阅读