一内存管理机制概述

从操作系统的角度来说,内存就是一块数据存储区域,而且他是可以被操作系统调动的资源。在现在的多进程操作系统当中,内存管理十分重要。操作系统它会为每一个进程合理分配内存资源,这里我们来从两个角度来分析,什么是内存管理机制。

1、分配机制

操作系统它会为每一个进程分配一个合理的大小,从而他能保证每一个进程能够正常的运行。而不至于内存不够使用或者某个进程占用太多的内存,这就是操作系统里面的分配概念。

2、回收机制(这一块是操作系统特别重要的一块)

  在系统内存不足的时候,他会有一个回收再分配内存资源的机制,从而能够保证新的进程能够正常运行。而回收的时候就要杀死那些占有内存的进程,所以操作系统需要提供一套合理的杀死这些进程的机制,从而把副作用将到最低,而对于我们安卓系统来说,它对内存管理也有一套特别的办法,它和PC端是不一样的。我们都知道安卓它是移动操作系统,一般情况下安卓的内存资源会比PC端更少,所以我们就要更加谨慎的管理内存。

Android内存管理机制

1、分配机制

我们知道,安卓在为每一个进程分配内存的时候,它采用了一个弹性的分配方式,比如刚开始他不会为一个新的APP分配太多的内存空间,而是给每一个app进程分配一个小额的内存量,而这个量是根据每一个移动端设备物理尺寸大小所决定,随着你的APP不断的运行,你可能发现当前内存已经不够使用了,这个时候安卓就会为每一个进程分配额外的大小,但是我们需要注意的是,分配的额外的内存大小不是随意去分配的,他是有限度的。因为我们都知道,安卓的内存大小是有限制的,所以说系统不可能为每一个APP进程分配无限大的内存.

总结:安卓的分配机制它的最大限度就是让更多的进程存活在内存当中,当用户下次再次启动时,他就不需要重新创建进程,他只需要恢复已有的进程即可,这样就减少了应用启动的时候,提高用户体验。

2、回收机制

安卓对内存的使用,他的宗旨是尽最大限度的使用。它是继承linux的特点,安卓系统他会在内存中保存尽可能多的数据。这里也有一个缺点,比如说有的进程不再被使用,但是数据还保存在内存当中,所以现在安卓不推荐直接退出应用。如果这样当用户下次启动应用的时候,只需要恢复当前进程即可,而不需要创建新进程。当安卓发现内存不够使用,开始回收内存的时候,安卓就会杀死其他进程。来回收足够的内存,从而开启新的进程。这里注意,对于进程分配他有一个优先级的概念,

优先级它主要分为五个阶段。

  第一:前台进程,屏幕当中显示的进程

  第二:可见进程,他已经不属于前台进程,用户仍能看见的进程,

  第三:服务进程,例如定位、闹钟等。

  第四:后台进程,后台进程不同于服务进程,它是在后台处理一些计算的进程.

  第五:空进程,没有任何东西在内存运行的进程。内存可以随时回收。