Android四大组件
前言
Android四大组件分别为:Activity(活动) 、Service(服务)、Broadcast Receive(广播接受者)、Content Provider (内容提供者)
提示:纯个人学习总结,有错请帮忙指出,谢谢。
一、Activity(活动)
(1) Activity是一个Android应用程序组件,给用户提供交互的入口,一个Activity通常就是一个单独的屏幕(窗口)。
(2)Android应用程序通常由多个的Activity组成。通常,应用程序的一个Activity会被指定为“主Activity”,这个Activity会在应用程序首次启动的时显示给用户。
(3)每个Activity可以启动另一个Activity以执行不同的操作,并且可以通过Intent进行Activity之间的通信。
(4)Android应用中每一个Activity都必须要在AndroidManifest.xml配置文件中声明,否则系统将不识别也不执行该Activity。
Activity中存在的三个循环声明周期
-
Activity的整个生命周期
Activity的整个生命周期发生在调用onCreate() 和 调用onDestory()之间 。Activity的整个生命周期应该执行 “ 全局 ” 状态的设置onCreate() , 并释放所有剩余资源onDestory()。
-
Activity的可见生命周期
Activity的可见生命周期发生在调用onStart() 和 onStop() 之间。这个期间,用户能够在屏幕上看见Activity,并且和它进行交互。系统在Activity的完整寿命中可能多次调用onStart() 和 onStop() , 正如Activity交替地对用户可见或隐藏。
-
Activity的前台生命周期
Activity的前台生命周期发生在调用onResume()和调用之间onPause()。
在这期间,Activity在屏幕上所有其他Activity的前面,有用户输入焦点。一个Activity能频繁的在前台进入和出去之间转变
Activity整个生命周期的四种状态
-
活动(Active/Running)状态
当Activity运行在屏幕前台(处于当前任务活动栈的最上面),此时它获取了焦点能响应用户的操作,此时处于可见并和用户交互的激活状态,叫做运行状态,同一个时刻只会有一个Activity 处于活动(Active)或运行(Running)状态。 -
暂停(Paused)状态
当Activity失去焦点但仍对用户可见(如在它之上有另一个透明的Activity或Toast、AlertDialog等弹出窗口时)它处于暂停状态。暂停的Activity仍然是存活状态(它保留着所有的状态和成员信息并保持和窗口管理器的连接),但是当系统内存极小时可以被系统杀掉。 -
停止(Stopped) 状态
完全被另外一个Activity遮挡(用户不可见)时处于停止状态,它仍然保留着所有状态信息和成员信息。当其他地方需要内存时候,它往往被系统杀掉。 -
非活动(Dead)状态
Activity 尚未被启动、已经被手动终止,或已经被系统回收时处于非活动的状态,要手动终止Activity,可以在程序中调用"finish"方法。
如果是(按根据内存不足时的回收规则)被系统回收,可能是因为内存不足了,内存不足时,Dalvak 虚拟机会根据其内存回收规则来回收内存:
空进程 > 不可见进程(stoped) > 服务进程 > 可见进程 (paused) > 活动进程(active)
Activity生命周期的七种方法
onCreate : 创建页面。把页面上的各个元素加载到内存中。
onStart : 开始页面。把页面显示到屏幕上。
onResume : 恢复页面。把页面在屏幕上活动起来,例如开启动画、开始任务等。
onPause : 暂停页面。把页面在屏幕上的动