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 **服务一旦被开启就会长期驻留后台等待手工关闭
* */
网友评论