打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Android应用程序----Activity生命周期(2)

Android应用程序----Activity生命周期(1)

Activity事件回调函数的调用顺序 


Activity生命周期分类

Activity的生命周期可分为全生命周期、可视生命周期和活动生命周期

每种生命周期中包含不同的事件回调函数


全生命周期 

全生命周期是从Activity建立到销毁的全部过程,始于onCreate(),结束于onDestroy() 

使用者通常onCreate()中初始化Activity所能使用的全局资源和状态,并在onDestroy()中释放这些资源 

在一些极端的情况下,Android系统会不调用onDestroy()函数,而直接终止进程



可视生命周期 

可视生命周期是Activity在界面上从可见到不可见的过程,开始于onStart(),结束于onStop()



可视生命周期 

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

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

onRestart()函数在onSart()前被调用,用来在Activity从不可见变为可见的过程中,进行一些特定的处理过程 

onStart()onStop()会被多次调用 

onStart()onStop()也经常被用来注册和注销BroadcastReceiver



活动生命周期 

活动生命周期是Activity在屏幕的最上层,并能够与用户交互的阶段,开始于onResume(),结束于onPause() 

Activity的状态变换过程中onResume()onPause()经常被调用,因此这两个函数中应使用更为简单、高效的代码


活动生命周期 

onPause()是第一个被标识为“可终止”的函数 

onPause()返回后,onStop()onDestroy()随时能被Android系统终止 

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




onPause()onSaveInstanceState()的区别

    这两个函数都可以用来保存界面的用户输入数据,他们的区别在于


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

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

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

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


举例:建立一个新的Android工程 

工程名称:ActivityLifeCycle 

包名称:edu.hrbeu.ActivityLifeCycle 

Activity名称:ActivityLifeCycle


ActivityLifeCycle.java文件的代码


上面的程序主要通过在生命周期函数中添加“日志点”的方法进行调试,程序的运行结果将会显示在LogCat 

为了显示结果易于观察和分析,在LogCat设置过滤器LifeCycleFilter,过滤方法选择by Log Tag,过滤关键字为LIFTCYCLE


全生命周期 

启动和关闭ActivityLifeCycle LogCat输出 

启动ActivityLifeCycle 

按下模拟器的“返回键” 

关闭ActivityLifeCycle 

LogCat输出结果

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

调用onCreate()函数分配资源

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

调用onResume()获取屏幕焦点 

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


可视生命周期

状态转换 

启动ActivityLifeCycle 

“呼出/接听键”启动内置的拨号程序 

再通过“返回键”退出拨号程序 

ActivityLifeCycle重新显示在屏幕中 

可视生命周期的LogCat输出结果


可视生命周期 

函数的调用顺序: onSaveInstanceState () onPause() onStop() onRestart() onStart() onResume() 

调用onSaveInstanceState()函数保存Activity状态 

调用onPause()onStop(),停止对不可见Activity的更新

调用onRestart()恢复需要界面上需要更新的信息 

调用onStart()onResume()重新显示Activity,并接受用户交互

开启IDA的可视生命周期Dev Tools Development Settings Immediately destroy activities (IDA)下开启IDA



活动生命周期 

活动生命周期的LogCat输出 

启动ActivityLifeCycle 

通过“挂断键”使模拟器进入休眠状态 

再通过“挂断键”唤醒模拟器 

LogCat的输出结果


函数调用顺序如下:onSaveInstanceState() onPause() onResume() 

调用onSaveInstanceState ()保存Activity的状态 

调用onPause()停止与用户交互 

调用onResume()恢复与用户的交互



本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
理解Fragment生命周期
Activity生命周期
Android中的Activity生命周期总结
两分钟彻底让你明白Android Activity生命周期(图文)! - 江鹏的日志 - 网易博客
《Android Dev Guide》系列教程6:Android生命周期之activity...
Activity相关知识点总结
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服