安卓中进程一共有五种:
1.Foreground process(前台进程)
用户正在操作得应用程序所在的进程就是前台进程(相当于Activity的onResume方法(获取焦点)执行,或广播接受者的onReceive方法执行)。
特点:可以与用户进行交互。
2.Visible process(可视进程)
用户已经不能操作这个应用程序,但是用户依然可以看到这个应用程序界面(相当于Activity的onPause方法执行,就是没有焦点了)
3.Service process(服务进程)
一个应用用startService(startActivity一样)开启一个服务就是服务进程(服务进程用户看不到,但是依然起着重要作用,后台下载、播放、刷新、查询、连接服务器等)
4.Background process(后台进程)
应用程序有界面,但是界面被用户最小化了(home键,变得不可见)(相当于Activity的onStop方法被执行)。
5.Empty process(空进程)
应用程序没有任何运行的Activity、Service(唯一让该进程活着的元原因是对此应用的缓存,提高下次开启的速度)。
进程优先级:前台进程 > 可视进程 > 服务进程 > 后台进程 > 空进程。
进程优先级越高越不容易被系统杀死。
当系统内存不足时,一般会先杀死空进程,再考虑杀死后台进程;而前台进程、可视进程和服务进程一般不会被系统杀死,因为杀死这些进程严重影响用户体验。
注:
1.服务进程很特殊,当系统内存严重不足或遇到特殊情况时,服务进程会被杀死;但是,当系统内存再次充足时,服务进程又会再次开启,就像打不死的小强一样。
2.一个非服务进程,点击退出按钮退出了,就会成为一个空进程;而服务进程必须要点击关闭服务(运行onDestroy方法),才会是空进程。
Service概念总结:
1.Service服务也可以理解为一个特殊的、没有界面的、可以长期执行的Activity,在后台运行,非独立。
2.Service开启的进程是服务进程,优先级高,很难被杀死;即使被杀死,也会被重新原地复活,我们开发中正是利用Service的这个特点做文章。
1.Foreground process(前台进程)
用户正在操作得应用程序所在的进程就是前台进程(相当于Activity的onResume方法(获取焦点)执行,或广播接受者的onReceive方法执行)。
特点:可以与用户进行交互。
2.Visible process(可视进程)
用户已经不能操作这个应用程序,但是用户依然可以看到这个应用程序界面(相当于Activity的onPause方法执行,就是没有焦点了)
3.Service process(服务进程)
一个应用用startService(startActivity一样)开启一个服务就是服务进程(服务进程用户看不到,但是依然起着重要作用,后台下载、播放、刷新、查询、连接服务器等)
4.Background process(后台进程)
应用程序有界面,但是界面被用户最小化了(home键,变得不可见)(相当于Activity的onStop方法被执行)。
5.Empty process(空进程)
应用程序没有任何运行的Activity、Service(唯一让该进程活着的元原因是对此应用的缓存,提高下次开启的速度)。
进程优先级:前台进程 > 可视进程 > 服务进程 > 后台进程 > 空进程。
进程优先级越高越不容易被系统杀死。
当系统内存不足时,一般会先杀死空进程,再考虑杀死后台进程;而前台进程、可视进程和服务进程一般不会被系统杀死,因为杀死这些进程严重影响用户体验。
注:
1.服务进程很特殊,当系统内存严重不足或遇到特殊情况时,服务进程会被杀死;但是,当系统内存再次充足时,服务进程又会再次开启,就像打不死的小强一样。
2.一个非服务进程,点击退出按钮退出了,就会成为一个空进程;而服务进程必须要点击关闭服务(运行onDestroy方法),才会是空进程。
Service概念总结:
1.Service服务也可以理解为一个特殊的、没有界面的、可以长期执行的Activity,在后台运行,非独立。
2.Service开启的进程是服务进程,优先级高,很难被杀死;即使被杀死,也会被重新原地复活,我们开发中正是利用Service的这个特点做文章。