2011年Android面试宝典:核心知识点解析

需积分: 3 2 下载量 169 浏览量 更新于2024-07-26 1 收藏 154KB DOC 举报
"这篇资料是关于JAVA和ANDROID的面试题集,包含了2011年多家知名公司的笔试和面试题目,如百度、新浪、中科软等。这份资料旨在帮助求职者准备面试,涵盖了许多核心知识点,包括Android四大组件、布局管理、动画、XML解析、ListView优化、数据存储、Activity管理、Service操作、广播机制、消息处理模型、Android系统架构、ContentProvider、异常处理、IntentService特性、Activity状态保存、窗口样式设定、应用退出、AIDL以及权限管理等。" 1. Android的四大组件是Activity、Service、BroadcastReceiver和ContentProvider,它们分别负责用户界面交互、后台服务执行、全局广播接收和数据共享。 2. 常见的五种布局包括LinearLayout(线性布局)、RelativeLayout(相对布局)、FrameLayout(帧布局)、GridLayout(网格布局)和ConstraintLayout(约束布局),每种布局都有特定的排列和对齐规则。 3. Android中的动画分为两种:Tween Animation(补间动画)和Property Animation(属性动画)。Tween Animation改变对象在视图中的位置、大小、透明度等,而Property Animation可以修改对象的任何属性,并且支持3D效果。 4. 解析XML的类有DOM、SAX和Pull Parser。DOM一次性加载整个XML文档,适合小型文件;SAX是事件驱动,只处理需要的部分,内存占用少;Pull Parser基于SAX,但更易于使用,适用于资源有限的移动设备。 5. ListView优化包括使用ViewHolder减少视图查找、复用convertView、设置Adapter的notifyDataSetChanged()以及使用AsyncTask加载数据等。 6. Android的数据存储方式包括SharedPreferences(键值对存储)、SQLite数据库、文件系统、内部存储和ContentProvider。 7. Activity的启动模式有标准模式(singleTop、singleTask、singleInstance),决定新Activity实例何时创建和在哪种任务栈中运行。 8. 与Activity和Task相关的Intent启动方式有显式Intent和隐式Intent,前者指定具体目标组件,后者通过Intent Filter匹配组件。 9. Activity的生命周期包括onCreate(), onStart(), onResume(), onPause(), onStop(), onDestroy()等方法,以及在屏幕旋转时的不同状态变化。 10. 屏幕旋转时,Activity默认会重建,可以通过配置AndroidManifest.xml或重写onSaveInstanceState()和onRestoreInstanceState()来保存和恢复状态。 11. 启动Service通过startService(),停止Service使用stopService()或stopSelf()。Service生命周期中的onStartCommand()用于接收并处理服务请求。 12. 注册广播有两种方式:静态注册(在AndroidManifest.xml中)和动态注册(在代码中)。静态注册在应用启动时即生效,但无法在应用未运行时接收广播;动态注册灵活性高,但需在需要时手动注册,应用退出后广播无效。 13. Message、Handler、Message Queue和Looper共同构成了Android的消息处理机制,用于在UI线程和其他线程间通信。 14. MVC模式将应用程序分为Model(模型)、View(视图)和Controller(控制器)三部分,Android中可通过Fragment和Activity结合实现类似MVC的结构。 15. ANR(Application Not Responding)是应用无响应的错误,可以通过优化主线程、使用异步任务等方式避免。ForceClose通常由于程序异常导致,可通过捕获异常和良好编程实践预防。 16. Android系统架构包括Linux内核、系统库和运行库、应用程序框架以及应用程序层。 17. ContentProvider是Android提供的一种数据共享机制,允许不同应用之间安全地访问和操作数据。 18. IntentService具有自动管理线程和单个工作线程的特点,适用于执行后台任务。 19. 当Activity可能被回收时,可以使用onSaveInstanceState()保存状态,onCreate()和onRestoreInstanceState()恢复。 20. 将Activity设置为窗口样式涉及改变主题和样式属性,例如在AndroidManifest.xml中使用theme属性。 21. 退出Activity使用finish()方法,安全退出多Activity应用需要管理Activity栈,通常逆序关闭。 22. AIDL(Android Interface Definition Language)用于跨进程通信,定义接口,工作原理是生成Binder代理类,支持基本数据类型和Parcelable对象。 23. 运行时权限与文件系统权限不同,运行时权限在Android 6.0及以上版本针对敏感操作进行动态请求,文件系统权限控制对文件的读写访问。 以上是JAVA和ANDROID面试中的一些关键知识点,涵盖了Android开发的核心技术和最佳实践。