
Android面试精华:Fragment交互与Activity生命周期详解
189KB |
更新于2024-07-15
| 61 浏览量 | 举报
收藏
在Android面试中,关于Activity和Fragment的知识点占据了重要的地位,因为它们是Android应用的核心组件。首先,我们来看一下Fragment与Activity的交互:
1. **Fragment之间的数据交互**:
- **通过Bundle传递参数**:Fragment之间可以通过Bundle对象来传递数据,这是一种常见的数据传递方式,尤其是在Activity启动或替换Fragment时,可以将数据封装在Bundle中,从一个Fragment传递到另一个Fragment。
2. **回调接口实现通信**:
- Fragment内部定义一个回调接口,例如`OnFragmentInteractionListener`,然后让宿主Activity实现这个接口。这样,当Activity需要向Fragment提供信息时,只需通过接口调用相应的方法,实现了Activity与Fragment之间的松耦合通信。
接下来,了解Activity的关键生命周期方法及其启动模式:
- **Activity生命周期方法**:
- `onCreate()`:首次创建Activity时调用,用于初始化Activity的基本设置,如加载布局、初始化控件和绑定事件。
- `onStart()`:Activity变为可见但可能还在后台运行时调用。
- `onResume()`:Activity准备接受用户交互时调用,通常位于返回栈顶部且活动状态为运行。
- `onPause()`:当系统准备切换到其他Activity时调用,但在对话框式Activity中,不会触发`onStop()`。
- `onStop()`:Activity完全不可见时调用,区别于`onPause`,不适用于对话框Activity。
- `onDestroy()`:Activity即将被销毁前调用,此时无法再接收用户输入。
- `onRestart()`:Activity从停止状态恢复到运行状态前调用,表示Activity被重新启动。
- **Activity启动模式**:
- **标准模式(Standard)**:每次启动都会创建新的实例。
- **栈顶复用模式(SingleTop)**:如果Activity已经存在,且处于栈顶,则复用现有实例,避免重复创建。
- **栈内复用模式(SingleTask)**:每个任务只有一个Activity实例,如果任务栈中包含该Activity,那么启动时复用,否则创建新实例。
- **单例模式(SingleInstance)**:确保在整个应用程序生命周期内,只有一个实例,常用于处理系统服务或有特殊需求的应用。
最后,Activity的启动流程涉及Context的`startActivity()`方法,通过Instrumentation跨进程调用AMS(Activity Manager Service)的`startActivity()`,在合法性的检查后,根据启动模式的不同,进行相应的操作。
掌握这些技术点能够帮助你在Android面试中展现出扎实的基础和对框架深入的理解。在实际开发中,理解并灵活运用这些概念对于构建高效、可维护的应用至关重要。
相关推荐







weixin_38556189
- 粉丝: 8
最新资源
- ASP技术实现的高效网上选课系统
- VC++实现SMTP协议发附件功能,二次开发与学习的利器
- gvim 7.2 for Windows 改进版字体设置与BUG修复指南
- 探索Delphi编写的《大富翁神话2.0》游戏
- 深入了解SVN1.4.5与TortoiseSVN 1.4.8.12137的完美结合
- C#开发的超市进销存管理系统介绍
- Jena 2.5.6:最新版语义网开发的王牌工具
- VC++实现高效图像连通区域标记技术
- C#编写的词法分析器程序:用户友好界面与代码倒入功能
- Windows 7主题仿XP版:美化桌面新选择
- JMail邮件控件:功能强大、操作简便的邮件解决方案
- C和JAVA经典算法解析与实践指南
- C/C++编程API函数参考大全
- 51波特率计算器使用与学习指南
- AVI转MPEG:avi2mpeg程序源代码发布
- SQL Server 2000 JDBC驱动SP3服务包升级指南
- C++编程教程:从入门到精通的进阶之路
- 简洁实用的时间控件:时分秒显示
- 网络课程讲义PPT压缩包
- 带历史信息的菜单功能仿WORE实现
- DWR框架相关JavaScript文件解析
- Apache POI 3.5版本源码解析与Java操作Excel、Word教程
- 物资管理E-R图与流程优化策略
- C#编写的CAD源码教程:初学者的画图软件开发指南