App直接运行的叫Activity,后台运行的东西叫 Service,二者基本上是独立的,除了互相传送必要数据以外。
Activity
定义
Activity是一个应用程序组件,提供一个屏幕,用户可以用来交互为了完成某项任务。
组成
是Android组件中最基本也是最为常见用的四大组件(Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器)之一。
作用
Activity中所有操作都与用户密切相关,是一个负责与用户交互的组件,可以通过setContentView(View)来显示指定控件。
Service
定义
Service是Android系统中的四大组件之一,它是一种长生命周期的,没有可视化界面,运行于后台的一种服务程序。
作用
service整体的生命时间是从onCreate()被调用开始,到onDestroy()方法返回为止。比如,一个音乐播放service可以在onCreate()中创建播放音乐的线程,在onDestory()中停止这个线程。
两种区别
如果没有 Service,要么只有在 App 运行(有前台 Activity)的时候主动连接网络获取新消息,要么没有新消息。
如果有后台 Service 的话,可以自己实现推送服务,即时获取新消息,但是耗电耗内存耗 CPU。