注0:本文整理于 6 月 7 日,马上就要毕业了,我甚至不知道面试要面什么,所以只好求助于书本。
注1:本文采用思维导图模式记录整理。
Android 非技术问题硬知识点整理
- 以前做的工作
主要从独立开发和自己做过的APP进行分析
做过的最复杂的界面
一般不会这么问,有作品展示的情况下说作品就好了
如何解决遇到的难题
1、阅读源代码
2、查询官方 API 文档
3、Google 搜索
Android 特点
- 完善的应用程序框架
- 虚拟机(安全和效率方面阐述)
- 浏览器(从 H5 ,浏览器标准,快速开发方面阐述)
- 2D 3D 绘图渲染(从 OpenGL 和目前 VR 之类)
- 数据库
- 硬件传感器
- 多种信息展现方式
- 开源的系统
- 集成开发工具和大量解决方案
MVC 模式原理和 SDK 组件的 MVC 模式
Controller 连接 View 和 Model。分离显示和数据,互不影响,利于维护和重构。
所有列表控制(ListView,Spinner,GridView)都是。V 组件,M 数据,C Adapter。
ArrayAdapter 对应 List 和数组数据源。
CursorAdapter 对应 Cursor 对象(一般为数据库中获取的记录)
Adapter 使用 getView 方法返回当前列表项显示的 View 对象。
Model 发生改变,调用 notifyDataSetChanged 方法,然后调用 getView 重新显示
Android 的系统架构
- 应用层
运行在虚拟机上的应用程序
- 应用框架层
即系统 API 层,如:视图、通知管理和活动管理
- 系统运行库层
支持应用框架层。主要由:C 语言标准库、多媒体库、OpenGL ES、SQLite、WebKit、Dalvik 虚拟机组成
- Linux 内核层
驱动、内存管理、进程管理、网络协议栈等组件。
adb 服务死掉了怎么办
1、打开 DDMS 重启
2、重启模拟器
3、任务管理器结束进程
4、重启电脑
'''