简介

内存是所有程序在运行时重要的系统资源。程序在运行之前必须先将其加载入内存当中,在程序运行期间,他们会显式或者隐式地申请额外的内存去存储或者处理他们的(程序级别)数据。为程序的代码和数据开辟内存空间需要耗费一定时间和系统资源,因此对系统的全局性能有影响。当然,尽管你不可能避免不使用内存,但是仍然有很多方法能够帮助你减少因为内存使用而对系统性能带来的影响。

本文主要讲述了OS X以及IOS的内存系统的背景知识,以及应该如何高效的使用上述两种平台下的内存。你可以利用本文所讲述的这些知识去优化你的程序中内存的使用,从而确保你在正确的时间申请了正确数量的内存。本文同样也会告诉你一些小贴示来帮助查探你的程序中因内存是否合理使用带来的性能影响问题。

本文的组织结构如下:

  • 关于虚拟内存的相关知识 : 本文会介绍相关的术语并会从宏观角度介绍关于OS XIOS的的虚拟内存的相关知识。
  • 关于申请内存的一些小贴士 : 本文会介绍关于内存申请,内存初始化以及内存拷贝的最好的技术,同样也会针对IOS中低内存警告环境下提出一些合适的应对措施。
  • 缓存以及释放内存 : 本文主要讲述了缓存能为程序带来哪些收益以及如何避免因为使用缓存导致的一些问题。同样也详细讲述了在如何缓存系统中成功使用这种能为程序带来收益的释放内存技术。
  • 追踪内存使用情况 : 本文主要讲述了能够帮助你分析程序中内存使用情况的工具以及相关技术。
  • 查找内存泄漏 : 本文主要讲述了能够帮助你查找程序中内存泄漏的工具及相关技术。
  • 开启内存申请编译模式 : 本文主要讲述了使用环境变量开启内存申请记录模式。在使用一些内存分析工具前,你必须设置这些环境变量中的某几个。
  • 观测虚拟内存使用情况 : 本文主要描述了分析你的程序内存占用情况的工具盒相关技术。