Android面试必备:Activity生命周期详解与状态保存
需积分: 0 88 浏览量
更新于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 上传
2015-03-14 上传
2018-06-26 上传
2014-06-07 上传
2024-11-05 上传
2024-11-05 上传
2024-11-05 上传
2024-11-05 上传
gisnp
- 粉丝: 0
- 资源: 8
最新资源
- 探索AVL树算法:以Faculdade Senac Porto Alegre实践为例
- 小学语文教学新工具:创新黑板设计解析
- Minecraft服务器管理新插件ServerForms发布
- MATLAB基因网络模型代码实现及开源分享
- 全方位技术项目源码合集:***报名系统
- Phalcon框架实战案例分析
- MATLAB与Python结合实现短期电力负荷预测的DAT300项目解析
- 市场营销教学专用查询装置设计方案
- 随身WiFi高通210 MS8909设备的Root引导文件破解攻略
- 实现服务器端级联:modella与leveldb适配器的应用
- Oracle Linux安装必备依赖包清单与步骤
- Shyer项目:寻找喜欢的聊天伙伴
- MEAN堆栈入门项目: postings-app
- 在线WPS办公功能全接触及应用示例
- 新型带储订盒订书机设计文档
- VB多媒体教学演示系统源代码及技术项目资源大全