Android面试必备:Activity生命周期详解与状态保存
需积分: 0 165 浏览量
更新于2024-09-13
收藏 73KB DOC 举报
"这篇文档是关于Android面试题的汇总,涵盖了Activity生命周期、状态保存、Activity样式设置以及退出应用等多个核心知识点。"
1. Activity的生命周期是Android开发中的基础概念,它描述了Activity从创建到销毁的各个阶段。必经的三个方法是onCreate()、onStart()和onResume(),通常用AAA来表示。在不同场景下,Activity的调用顺序有所不同:
- (1)父Activity启动子Activity,子Activity退出: AAA -> onFreeze() -> onPause() -> onStop() -> onRestart() -> onStart() -> onResume()...
- (2)用户按下Home键: AAA -> onFreeze() -> onPause() -> onStop() -> Maybe -> onDestroy() -> Maybe
- (3)调用finish(): AAA -> onPause() -> onStop() -> onDestroy()
- (4)显示Dialog: AAA
- (5)显示透明或非全屏Activity: AAA -> onFreeze() -> onPause()
- (6)设备进入睡眠: AAA -> onFreeze() -> onPause()
2. 当后台Activity可能被系统回收时,为了保存当前状态,可以重写onSaveInstanceState()方法。这个方法会在Activity被销毁前调用,保存的数据会被传递到onCreate()或onRestoreInstanceState()中。如果Activity被回收,onCreate()会接收到savedInstanceState参数,允许恢复状态;如果没有被回收,Activity会直接执行onResume(),跳过onCreate()。
3. 将Activity设置为窗口样式,可以在AndroidManifest.xml中对Activity的定义添加特定的theme属性。例如,设置为对话框样式可以写成`android:theme="@android:style/Theme.Dialog"`,设置为半透明则可以使用`android:theme="@android:style/Theme.Translucent"`。
4. 退出应用通常不推荐直接调用System.exit(0),因为这可能无法正确清理资源。更推荐的方式是结束所有前台和后台的Activity,可以通过在某个Activity中调用`finish()`,或者使用静态Activity栈管理来依次关闭所有Activity。
这些面试题涉及了Android开发的核心概念,包括Activity的生命周期管理、状态保存机制以及界面表现形式,对于理解和掌握Android应用开发至关重要。学习并理解这些知识点可以帮助开发者更好地设计和维护Android应用程序。
2024-01-25 上传
2022-08-03 上传
2018-04-14 上传
2014-07-05 上传
2015-07-31 上传
2015-07-15 上传
2024-11-26 上传
2024-11-26 上传
gisnp
- 粉丝: 0
- 资源: 7
最新资源
- JHU荣誉单变量微积分课程教案介绍
- Naruto爱好者必备CLI测试应用
- Android应用显示Ignaz-Taschner-Gymnasium取消课程概览
- ASP学生信息档案管理系统毕业设计及完整源码
- Java商城源码解析:酒店管理系统快速开发指南
- 构建可解析文本框:.NET 3.5中实现文本解析与验证
- Java语言打造任天堂红白机模拟器—nes4j解析
- 基于Hadoop和Hive的网络流量分析工具介绍
- Unity实现帝国象棋:从游戏到复刻
- WordPress文档嵌入插件:无需浏览器插件即可上传和显示文档
- Android开源项目精选:优秀项目篇
- 黑色设计商务酷站模板 - 网站构建新选择
- Rollup插件去除JS文件横幅:横扫许可证头
- AngularDart中Hammock服务的使用与REST API集成
- 开源AVR编程器:高效、低成本的微控制器编程解决方案
- Anya Keller 图片组合的开发部署记录