您的位置:首页 > 移动开发 > Android开发

Android四大组件的基本介绍及其生命周期

2017-03-06 14:21 369 查看
Android四大组件的基本介绍

Activity:应用程序中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应。(说白了,Activity就是负责与用户进行交互)。

Service(服务):android中service(服务)运行于后台,没有界面。和其他组件一样,service也运行在主线程中,因此不能用它来做耗时的请求或者动作。可以在服务中开启线程,在线程中做耗时操作。可以启动一个服务service来播放音乐,或者记录地理信息位置的改变,或者启动一个服务来运行并一直监听某种动作。

BroadcastReceiver(广播接收器):你的应用可以使用它对外部事件进行过滤只对感兴趣的外部事件(如当电话呼入时,或者数据网络可用时)进行接收并做出响应。广播接收器没有用户界面。然而,它们可以启动一个activity或serice 来响应它们收到的信息,或者用NotificationManager 来通知用户。通知可以用很多种方式来吸引用户的注意力──闪动背灯、震动、播放声音等。一般来说是在状态栏上放一个持久的图标,用户可以打开它并获取消息。

Content Provider(内容提供者):android平台提供了Content Provider使一个应用程序的指定数据集提供给其他应用程序。这些数据可以存储在文件系统中、在一个SQLite数据库、或以任何其他合理的方式,其他应用可以通过ContentResolver类,从该内容提供者中获取或存入数据.(相当于在应用外包了一层壳),只有需要在多个应用程序间共享数据是才需要内容提供者。例如,通讯录数据被多个应用程序使用,且必须存储在一个内容提供者中它的好处:统一数据访问方式。

Activity的生命周期:



Activity整个生命周期的4种状态、7个重要方法和3个嵌套循环

4种状态:

活动状态(Running):此时该activity运行在屏幕的前台(任务栈的最上方),能够获取焦点并且响应用户的点击事件(用户看得见并且可以与用户进行交互),同一时刻只会有一个Activity处于该状态。

暂停(Pause)状态: Activity失去焦点但是对用户依然可见,当该Activity的上方有一个透明的Activty、Toast、AlertDialog等弹出窗口时,该Activity就处于暂停状态,暂停状态保留所有的成员信息,但是当系统内存极小时,有可能会被系统杀死。

停止(Stopped)状态:完全被另一个Activity遮挡时处于停止状态,它仍然保留着所有的状态和成员信息,只是对用户不可见,当其他地方需要内存时它往往被系统杀掉。

非活动(Dead)状态: Activity 尚未被启动、已经被手动终止,或已经被系统回收时处于非活动的状态,要手动终止Activity,可以在程序中调用”finish”方法。例如为了释放紧缺的内存空间。

7个重要方法:

onCreate:在Activity被实例化的时候会调用该方法(整个生命周期只会被调用一次),为Activity设置所要使用的布局文件,为按钮绑定监听器等静态的设置操作。

onStart:当Activity可见但未获得焦点不能与用户交互时系统会调用。

onRestart:当Activity已经停止然后被重新启动时系统会调用。

onResume:当Activity可见且获得用户焦点能交互时系统会调用。

onPause:被别的弹出式Activity局部覆盖但是扔可见的情况下,被管理器维护当前状态。

onStop:当Activity被新的Activity完全覆盖不可见时被系统调用。

onDestroy:当用户调用finish()方法或者当系统内存不足被销毁时调用(整个生命周期只会调用一次),用来释放资源。

3个嵌套循环:

Activity完整的生命周期:从第一次调用onCreate()开始直到调用onDestroy()结束。

Activity可视的生命周期:从调用onStart()到相应的调用onStop()。

Activity前台生命周期:从调用onResume()到相应的调用onPause()。

Service服务的生命周期:



Service有两种调用方式:

- 以调用Context.startService()启动,而以调用Context.stopService()结束。

- 以调用Context.bindService()方法建立,以调用Context.unbindService()关闭。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 生命周期