2011年Android技术面试详解,涵盖核心知识点

5星 · 超过95%的资源 需积分: 3 9 下载量 181 浏览量 更新于2024-07-30 收藏 154KB DOC 举报
"这份资料是2011年Android技术面试的整理,包含了百度、新浪、中科软等多家公司的笔试面试题目及详细答案,主要涵盖了Android的基础知识、四大组件、布局管理、动画、数据存储、Activity管理、Intent使用、Service操作、广播机制、线程模型、异常处理、系统架构、数据共享、API异常处理、IntentService特性、Activity状态保存、窗口样式设定、退出Activity、AIDL以及权限管理等多个方面。" 以下是详细知识点: 1. Android的四大组件:Activity(活动)、Service(服务)、Broadcast Receiver(广播接收器)和Content Provider(内容提供者)。它们是构建Android应用的核心组件,分别负责用户界面交互、后台任务执行、全局消息收发和数据共享。 2. 常用布局:LinearLayout(线性布局)、RelativeLayout(相对布局)、FrameLayout(帧布局)、TableLayout(表格布局)和GridLayout(网格布局),每种布局都有特定的排列和对齐规则。 3. 动画分类:Android中的动画分为属性动画(Property Animation)和视图动画(View Animation)。属性动画可修改对象的属性并实时更新视图,而视图动画只改变视觉效果,不改变对象状态。 4. XML解析类:主要有DOM解析、SAX解析和Pull解析。官方推荐使用Pull解析,因为它更节省内存且效率较高。 5. ListView优化:包括使用ViewHolder模式减少视图查找、复用convertView、异步加载数据、避免过多的子项点击事件监听等。 6. 数据存储方式:SQLite数据库、SharedPreferences、内部存储、外部存储、ContentProvider等。 7. Activity启动模式:标准模式(SingleTop)、栈顶复用模式(SingleTask)、单实例模式(SingleInstance)和单活动栈模式(SingleTop,但限制在特定任务栈内)。 8. 与Activity和Task相关的Intent启动方式:通过FLAG_ACTIVITY_NEW_TASK和FLAG_ACTIVITY_CLEAR_TOP等标志启动,可以控制Activity在Task中的行为。 9. Activity生命周期:从onCreate()、onStart()、onResume()到onPause()、onStop()、onDestroy(),以及配置变更时的onSaveInstanceState()和onRestoreInstanceState()。 10. 屏幕旋转时的生命周期:默认情况下,屏幕旋转会导致Activity重建,但可以通过配置来保持实例状态。 11. Service启动与停止:通过startService()启动,stopService()或stopSelf()停止。startService()启动的服务会持续运行直到停止,而bindService()则用于绑定服务,服务会在所有客户端解绑后自动停止。 12. 广播注册方式:静态注册(AndroidManifest.xml)和动态注册(代码中)。静态注册在应用启动时自动激活,不受应用运行状态影响;动态注册需要在代码中手动完成,易于管理和控制。 13. Message、Handler、Message Queue、Looper的关系:Message是消息载体,Handler处理消息,Message Queue是消息队列,Looper是循环器,它们协同工作形成一个消息循环机制,使得UI线程可以响应其他线程的消息。 14. Android系统架构:从Linux内核、硬件抽象层、系统库、应用程序框架到应用程序,构成了层次化的结构。 15. ContentProvider:实现数据共享,允许不同应用访问和操作同一数据源。 16. ANR(Application Not Responding):当应用无响应时出现,可通过优化主线程、避免阻塞UI线程、及时处理耗时操作来避免。 17. Force Close:通常由未捕获的异常引起,可通过良好的错误处理和资源管理避免。 18. API异常处理:即使API没有声明异常,也可能在运行时抛出,遇到时应适当地进行异常捕获和处理。 19. IntentService优点:在单独的工作线程中运行,服务执行完毕后自动停止,避免资源浪费。 20. 保存Activity状态:使用onSaveInstanceState()保存临时状态,onCreate()或onRestoreInstanceState()恢复。 21. Activity窗口样式:通过设置Theme和WindowFlags来改变Activity的外观和行为。 22. 退出Activity:通常通过finish()方法,安全退出Application需确保所有Activity都被正确关闭。 23. AIDL(Android Interface Definition Language):用于进程间通信(IPC),定义接口,处理基本数据类型和自定义对象。 24. 运行时权限与文件系统权限:运行时权限针对特定功能的用户授权,文件系统权限涉及对文件的读写操作,两者分开管理,提高安全性。 以上知识点是针对2011年Android面试的常见问题,对于学习和理解Android系统及应用开发具有很高的参考价值。