Service

1 开启Activity有两种方式:
 startActivity()
 startActivityForResult()
开启服务也有两种方式:
startService()
bindService()

2 进程的概念:

当一个应用开启了 没有任何组件运行之前 安卓系统启动linux进程给应用程序并且携带了一个线程 **所有的组件都运行在进程 线程中**(主线程: 不管在那个地方只要不new Thread就是主线程)(**通过此句话可以知道安卓的四大组件都是运行在主线程的  所以任何一个组件都不能进行耗时操作)

 安卓的四大组件都是运行在进程中的。

 安卓应用系统尽可能长时间维持系统进程,但是会尽可能移除老的旧的进程,来回收内存 便于给新的更重要的进程。最不重要的有限被淘汰。

优先级:1 foreground process 前台进程 优先级最高
        2 visible process    可视进程,  activity执行onpause 

        3  service process   服务进程    进程中开启服务 
         
        4 background process  后台进程   用户不可见 相当于activity执行 
        onstop() 界面不可见   但是activity并没销毁

          5 Empty process 空进程  不维持任何组件运行(四大组件)
           空进程关闭app会保留一段 为了下次开启app会快些。

3 系统会经常杀死空进程 来维持系统平衡



      
4 服务于子线程的区别(都是后台执行 都没界面 有啥区别)

  开启子线程当你逐步后退退出app 会终结了进程的(变为后台进程)

  而当你通过开启服务的方式  进程的优先级提高了由原来的后台进程变成了第三种优先级的

5 /*startService()方式开启的服务的特点:
         *1 第一次点击按钮开启服务  执行服务的onCreate() onstart()方法
         * 2 第二次点击按钮再次执行 只执行 onStart方法()
         * 3 **服务一旦被开启就会长期驻留后台等待手工关闭
         * */

你可能感兴趣的:(Service)