叮铃铃~ 极果君的科技小课堂又开课啦~ 先来一句话结论:因为Mac和Windows的内存使用逻辑是完全不一样的。 Windows系统的内存使用逻辑是用多少占多少,不用的内存就会赶快释放出来,等待系统进行下次分配。 mac OS的内存使用逻辑刚好相反,它和所有unix-like系统一样,都讲求最大化利用内存:计算机科学里有个局部性原则,讲的是如果一个程序被访问了,那么在它附近的内容很可能会在短时间内被再次访问。因此为了最大化提升系统流畅度,Mac会把这些可能要访问到的内容一股脑的全塞进内存里。 结果就是看上去mac的内存永远满满当当。 如果程序需要的内存不足够,那么系统会自动把这些“缓存”释放掉一部分。因此不需要担心mac内存不足会把系统卡死。 不过,手动“释放内存”在mac上是没啥用的(在安卓上其实也没用),因为你清理掉了内存之后,那些内容就需要从硬盘进行读取。跟快到不行的内存比起来,这个过程可就慢多了。清理之后反而会让软件加载的时间大大加长。 所以,并不是mac的内存占用大,而是两者对内存使用的策略不一样,你学到了吗? |
|