Android的构成基石之四大组件(1)—Android开发进阶

发表于:2016-6-20 08:37

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:何红辉    来源:51Testing软件测试网原创

  第1章  Android的构成基石-四大组件
  由于本书的目标读者是有一定Android基础的开发人员,因此,本章不再介绍Android系统的架构、历史等知识,而是直接切入主题,从讲解Android的四大组件开始,然后一步一步深入学习开发中的重要知识点,使得我们能够从基本原理层面掌握Android开发基础知识。
  Android中最重要的是四大组件,即Activity、Service、ContentProvider和Broadcast。这4个组件分工明确,共同构成了可重用、灵活、低耦合的Android系统。Activity负责UI元素的加载与页面之间的跳转,代表了一个页面单元;Service负责与UI无关的工作,如在后台执行耗时操作等;ContentProvider负责存储、共享数据,使得数据可以在多个应用之间共享;Broadcast则是在各个组件、应用之间进行通信,简化了Android开发中的通信问题。
  下面就来简单学习一下这四大开发组件。
  1.1 Activity
  Activity在应用中的表现就是一个用户界面,它会加载指定的布局文件来显示各种UI元素,例如TextView、Button、ImageView、ListView等,并且为这些UI元素设置事件处理函数,使得用户可以与这些UI进行交互。同时,Activity还可以在不同的Activity之间跳转,将不同的页面串连在一起,共同完成特定的操作流程。每个应用都是由一个或者多个Activity组成,它是Android应用程序中不可缺少的部分。
  应用启动时会加载一个默认的Activity,这个Activity在AndroidManifest.xml中会被设置为如下intent-filter:
  <intent-filter>
  <action android:name="android.intent.action.MAIN" />
  <category android:name="android.intent.category.LAUNCHER" />
  </intent-filter>
  每个Activity都有生命周期,在不同的阶段会回调不同的生命周期函数,Activity的生命周期函数有如下几个。
  1.onCreate()
  相信这是开发者见过次数最多的函数,我们在创建继承自Activity的类时都会默认生成这个函数。它会在Activity第一次被创建时调用,通常会在这个函数中完成Activity的初始化操作,如设置布局、初始化视图、绑定事件等。
  2.onStart() 
  这个函数在Activity的onCreate函数调用之后被调用,此时的Activity还处在不可见状态,它的下一个状态就是Activity变得可见的时候,也就是这个函数在Activity可见之前被调用。
  3.onResume() 
  这个函数在Activity变为可见时被调用,执行完onResume之后,Activity就会请求AMS渲染它所管理的视图。此时的Activity一定位于返回栈的栈顶,并且处于运行状态。
  4.onPause()
  这个函数在系统准备去启动或者恢复另一个Activity时调用,也就是在Activity即将从可见状态变为不可见时。我们通常会在这个函数中将一些消耗CPU的资源释放掉,以及保存一些关键数据。
  5.onStop()
  这个函数在Activity完全不可见时调用。它和onPause()函数的主要区别在于,如果新启动的Activity是一个对话框式的Activity,那么onPause()函数会得到执行,而onStop() 函数并不会执行。
  6.onDestroy()
  这个函数在Activity被销毁之前调用,之后Activity的状态将变为销毁状态。
  7.onRestart()
  这个函数在Activity由停止状态重新变为运行状态之前调用,也就是Activity被重新启动了。
  从onCreate()函数到onDestroy()函数运行的时期就是一个Activity的完整生命周期。一般情况下。我们会在一个Activity的onCreate()函数中完成各种初始化操作,而在onDestroy()函数中完成释放内存的操作。然而并不是各个时期Activity都是可见的,只有onResume()函数和onStop()函数之间的Activity是可见的,在Activity可见期内,用户可以与Activity进行交互,完成所需的功能。
  为了帮助读者能够更好地理解,Android 官方提供了一个Activity生命周期的示意图,如图1-1所示。
  
▲图1-1 Activity的生命周期
本文选自《Android开发进阶—从小工到专家》第一章,本站经人民邮电出版社和作者的授权。
版权声明:51Testing软件测试网获人民邮电出版社和作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号