2011年Android面试宝典:核心知识点解析
需积分: 3 189 浏览量
更新于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开发的核心技术和最佳实践。
686 浏览量
2025-01-06 上传
2025-01-06 上传
dl_dalin
- 粉丝: 7
- 资源: 9
最新资源
- 易语言BASS音乐盒
- Draft 2020-10-26 09:34:16-数据集
- Мотолькулятор-crx插件
- 作品答辩PPT指导模版.rar
- Dockboard-开源
- nativescript-fb-analytics:轻量级NativeScript插件,可将Facebook Analytics添加到iOS和Android应用程序
- 视频商店:Guia Objetos IV
- NotNews!-crx插件
- 易语言Beep卡农
- SFE_CC3000_Library:用于 TI CC3000 WiFi 模块的 Arduino 库
- FogPlacementWithSelfLearning
- mpu6050_姿态传感器_姿态解算_TI_
- Unfixed google search form-crx插件
- lipyd:用于脂质组学LC MSMS数据分析的Python模块
- java图书管理系统实现代码
- nativescript-disable-bitcode:禁用CocoaPods位码的NativeScript插件