版权声明:本文为博主原创文章,转载请注明出处http://blog.csdn.net/u013132758。 https://blog.csdn.net/u013132758/article/details/49082095
Android 学习之Android四大组件 (一)
Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器。
1.Activity详解
1.1什么是Activity
在应用程序中,一个Activity通常就是一个单独的屏幕(窗口),它上面可以显示一些控件也可以监听并处理用户的事件做出响应。如下图界面上都是Activity。上面显示TextView,Button等组件,并监听Button的点击来处理事件。
1.2 Activity之间通过Intent进行通信
Activity之间通过Intent进行通信。在Intent 的描述结构中,有两个最重要的部分:动作和动作对应的数据。Activity与Activity之间的跳转就可以用intent来实现。
Intent可以分为显式Intent和隐式Intent:
显式Intent用于启动明确的目标组件(三大组件:Activity,Service和BroadcastReceiver),同一个Application内的多个Activity调用也是显式Intent;
隐式Intent就是调用没有明确的目标组件,可以是系统也可以是第三方程序。隐式Intent一般用于调用系统组件功能,相关例程都是网络上很容易找到的(调用某些系统组件的时候要申请权限)。
1.3Activity的生命周期
Activity 的生命周期可分为:完整生命周期,可见生命周期和前景生命周期。
完整生命周期就是从一个Activity创建开始到它注销结束。即要经历onCreate、onStart、onResume、onPause、onStop、onRestart、onDestroy。生命周期图如下图所示:
可见生命周期:从字面来看就是能够看到的生命周期,即我们能够在APP里看到效果的生命周期。它包括onStart--->>onStop。
前景生命周期:从onResume--->>onPause结束。这段时间内Activity处于其他所有Activity的前面且与新的用户交互。
1.4Activity的四种基本状态
- Active/Runing
一个新 Activity 启动入栈后,它显示在屏幕最前端,处理是处于栈的最顶端(Activity栈顶),此时它处于可见并可和用户交互的激活状态,叫做活动状态或者运行状态(active or running) - Paused
当 Activity失去焦点, 被一个新的非全屏的Activity 或者一个透明的Activity 被放置在栈顶,此时的状态叫做暂停状态(Paused)。此时它依然与窗口管理器保持连接,Activity依然保持活力(保持所有的状态,成员信息,和窗口管理器保持连接),但是在系统内存极端低下的时候将被强行终止掉。所以它仍然可见,但已经失去了焦点故不可与用户进行交互。 - Stoped如果一个Activity被另外的Activity完全覆盖掉,叫做停止状态(Stopped)。它依然保持所有状态和成员信息,但是它不再可见,所以它的窗口被隐藏,当系统内存需要被用在其他地方的时候,Stopped的Activity将被强行终止掉。
- Killed如果一个Activity是Paused或者Stopped状态,系统可以将该Activity从内存中删除,Android系统采用两种方式进行删除,要么要求该Activity结束,要么直接终止它的进程。当该Activity再次显示给用户时,它必须重新开始和重置前面的状态。