进程与线程

来源:互联网 发布:js.users.51.la是什么 编辑:程序博客网 时间:2024/05/22 12:56

        我们知道操作系统中拥有许多进程,电脑任务管理器中:

        

       那就是说:进程是操作系统结构的基础,也是存储空间资源分配的最小单元

      而进程中又包含很多线程,那么就总结出:线程是存在于进程当中,是操作系统调度执行程序的最小单位。

    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

       由于Android是基于linux系统开发的手机终端的可移植的操作系统,所以会与我们PC端的操作系统略微有些区别。比如:

       我们打开一系列应用,点击手机终端退出。当我们按下手机端的HOME键时,会发现我们刚才所使用过的应用程序列表在其中。存在即合理,我们就要像为什么?

      好处是:如果我们要像快速回到刚才的app操作界面,我们可以在这个程序列表中快速选择,即可打开app的应用。

      坏处:由于每个应用程序的开启,都会启动一个进程,也就是会占用一定的存储空间,那么应用程序几多的话,常驻存储空间。

       ------那么Android就当内存不足时,需要清空进程,移除一些进程。

      在Android系统中,当我们启动一个应用程序时,系统会创建一个进程,帮我们在系统内分配一个内存空间,并启动一个主线程,来维护运行的主界面,并尽力去保持这个进程的稳定和安全。但是,在特殊情况下,总会移除旧的进程用于回收内存,使新的或者优先级高的进程的稳定运行。所以这里就需要Android的系统来自己判断哪些进程是需要保留,哪些进程需要被杀死。所以,在Android进程管理中,需要设置进程的优先级。优先级取决于进程内运行的程序以及程序的状态。

     优先级策略:当系统需要回收内存时,就先杀掉优先级低的进程。

     进程优先级:

     1.Foreground process前台进程【用户正在操作、使用的界面】

     2.Visible process可见进程【用户从一个程序切换到另外一个程序,旧的程序被替换,但是可恢复。(我们看电子书的时候,电话来了)】

     3.Service process后台进程,无界面的进程【变听音乐,变读电子书】

     4.Backgroud process定时检测更新

     5.Empty process 缓存进程(空进程)【辅助进程】

从第2点可以看出,进程的优先级在运行过程中是随时变化的。



0 0