Android面试必备:Intent、Activity与XML解析

需积分: 3 4 下载量 19 浏览量 更新于2024-09-14 收藏 40KB DOC 举报
"这份资料主要涵盖了Android面试中常见的问题,包括Intent的启动方式、Activity和Task的启动模式、Intent数据传递、Android应用的入口点、Java基础概念如HashSet与HashTable的区别,以及XML解析器的使用。" 1. Intent的启动方式: Intent的启动方式多种多样,如FLAG_ACTIVITY_BROUGHT_TO_FRONT用于将已存在的Activity带至前台,FLAG_ACTIVITY_CLEAR_TOP会清除栈顶到目标Activity之间的所有Activity,FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET在任务重置时清空活动历史,FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS不让Activity出现在最近任务列表,FLAG_ACTIVITY_MULTIPLE_TASK允许创建新的任务栈,而FLAG_ACTIVITY_NEW_TASK则表示在一个新的任务中启动Activity。 2. Activity和Task的启动模式: - standard:默认模式,每次启动都会创建新的Activity实例。 - singleTop:如果栈顶已经有该Activity实例,则不会创建新实例,而是回调onNewIntent()。 - singleTask:在栈中查找是否存在该Activity,存在则回到栈顶并清除其上的Activity,不存在则创建新实例。 - singleInstance:在一个单独的任务栈中运行,且该栈中只有一个Activity实例。 3. Intent数据传递: - Serializable接口:让对象实现Serializable接口,然后通过Intent的putExtra()方法传递。 - Parcelable接口:比Serializable效率高,需要手动实现读写方法,Android系统的一些类如Bitmap已经实现了Parcelable。 4. Android应用的入口点: Android应用的入口点是Application类的实例,而不是main()方法。通常,自定义Application类并在AndroidManifest.xml中声明,可以实现全局初始化操作。 5. HashSet和HashTable的区别: - HashSet基于HashMap,不保证元素顺序,允许null元素,但不允许有重复元素。 - HashTable是线程安全的,不允许null键和null值,执行速度相对较慢。 6. 广度优先搜索(BFS): BFS是一种遍历算法,使用队列来存储待访问节点,先访问当前层的所有节点再进入下一层,适用于找最短路径等问题。 7. Android的XML解析器: Android提供了三种XML解析器:XmlPullParser(拉取模型,轻量级)、SAX(事件驱动,适合大型XML文档)和DOM(整个文档加载内存,适合小文件)。理解并熟练掌握这三种解析方式对处理XML数据至关重要。 以上知识点是Android开发者必须熟悉的,它们不仅在面试中常见,也是实际开发中的重要技能。深入理解并能够灵活运用这些概念,将有助于提升你在Android开发领域的专业水平。