Activity之我见

本文详细介绍了Android中的Activity概念及其生命周期,包括Activity与Context的关系、Activity的界面构成元素、Activity生命周期的不同阶段及其回调方法的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ActivityAndroid的基本工作单元,Android应用程序至少包括一个Activity

   大部分Activity都有一个显示界面,类似一个HTML网页。

   每一个Android应用程序(Application)都对应一个Context对象,通过该Context对象可以访问应用程序中的各种系统服务和资源。例如:context.getResources()方法就可以返回该Context对应的应用程序中的资源对象,并通过该对象访问具体的资源,例如一个图标、一个字符串等。应用程序可以包含多个Activity,但只有一个Context对象。

每一个Activity有且只有一个WindowWindowActivity的界面容器,可以包含ViewGroupViewGroup中定义了具体的界面元素,例如一个按钮、一个文本框等。setContentView()用来给该Window设置一个具体的视图组(ViewGroup),WindowActivity被创建时系统自动创建的,应用程序不能再添加或者删除。从界面上来看,Window对应的是应用程序的标题栏和边框。

Activity的生命周期可分为全生命周期、可视生命周期和活动生命周期。全生命周期是从Activity建立到销毁的全部过程,始于onCreate(),结束于onDestroy()。可视生命周期是Activity在界面上从可见到不可见的过程,开始于onStart(),结束于onStop()。活动生命周期是Activity在屏幕的最上层,并能够与用户交互的阶段,开始于onResume(),结束于onPause()

onCreate()中初始化Activity所能使用的全局资源和状态。

onStart()一般用来初始化或启动与更新界面相关的资源

调用onResume()获取屏幕焦点(直白说,就是可以进行点击屏幕以响应事件)

onPause()常用来保存持久数据,如界面上的用户的输入信息等

onStop()一般用来暂停或停止一切与更新用户界面相关的线程、计时器和服务

onDestroy()中释放这些资源。

 

onPause()onSaveInstanceState()的区别

onPause() 一般用于保存持久性数据,并将数据保存在存储设备上的文件系统或数据库系统中的

onSaveInstanceState() 主要用来保存动态的状态信息,信息一般保存在Bundle

• Bundle是能够保存多种格式数据的对象

• 用onSaveInstanceState()保存在Bundle中的数据,系统在调用onRestoreInstanceState()onCreate()时,会同样利用Bundle将数据传递给函数

函数的调用顺序:onCreate() → onStart()onResume() → onPause()→ onStop()→ onDestroy()

• 调用onCreate()函数分配资源

• 调用onStart()Activity显示在屏幕上

• 调用onResume()获取屏幕焦点,可以进行点击屏幕操作

• 调用onPause()onStop()onDestroy(),释放资源并销毁进程


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值