Android面试基础题解析

需积分: 3 2 下载量 110 浏览量 更新于2024-09-16 收藏 37KB DOC 举报
"Android面试题总结" 在Android面试中,准备充分是非常关键的,下面将对提供的面试题目进行详细解答: 1. Intent的几种启动Activity的方式及其含义: - FLAG_ACTIVITY_BROUGHT_TO_FRONT:如果Activity已经在栈顶,那么不再创建新的实例,而是将其带到前台。 - FLAG_ACTIVITY_CLEAR_TOP:当启动的Activity已经存在栈中时,会把栈中位于其上方的所有Activity清除,然后将该Activity实例恢复到栈顶。 - FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET:当用户重新启动任务时,清除所有Activity。 - 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,并通过onNewIntent()回调唤醒它。如果栈中不存在,会创建新的任务栈并启动Activity。 - singleInstance:同singleTask,但会创建单独的任务栈,确保Activity是栈内唯一实例。 3. 通过Intent传递二进制数据的方法: - 使用Serializable接口:将对象序列化为字节流,然后通过Intent的putExtra()方法传递。 - 实现Parcelable接口:比Serializable效率更高,适用于频繁的数据交换,如Bitmap。 4. Android应用的入口点: - Android应用的真正入口点是定义在AndroidManifest.xml中的Application的main方法。即使没有定义任何Activity,也必须有一个Application。 5. Android的XML解析器: - XmlPullParser:基于事件驱动的轻量级解析器,适合处理大量数据。 - SAX (Simple API for XML):也是事件驱动,逐行解析,适合大文件。 - DOM (Document Object Model):将整个XML文档加载到内存中,形成树形结构,方便操作,但消耗较大内存。 6. SQLite支持事务及性能优化: - SQLite支持事务,可以使用BEGIN、COMMIT或ROLLBACK语句来控制事务,确保数据的一致性。 - 提高性能的方法包括:批量插入,避免频繁的磁盘I/O;使用合适的数据库索引;及时关闭数据库连接;优化查询语句,减少JOIN操作。 以上是对部分Android面试题目的解答,理解并掌握这些知识点对于Android开发者来说至关重要,不仅能够帮助你通过面试,还能提升你的实际开发能力。在准备面试时,还应关注其他重要领域,如UI设计、网络编程、多线程、内存管理以及最新的Android版本特性。