一.基础
-
四大组件,五大布局.
- 四大组件:Activity Service ContentProvider BroadCastReceiver
- 五大布局:线性布局
相对布局
帧布局
表格布局
帧布局
- 四大组件:Activity Service ContentProvider BroadCastReceiver
-
数据持久化几种方式,都有什么.
五种方式:文件存储
数据库 SharedPreferences 网络
内容提供者
- 有哪些种动画,具体说一下区别.
- Activity的生命周期,并说明在Activity的哪个特定时刻会执行哪个特定的方法.要理解透彻
- Fragment的生命周期,同上.
- Service的生命周期,根据不同的启动方式有不同的生命周期.
- ContentProvider的作用是干嘛的,如何使用.
- BroadcastReceiver分为几种.Broadcast有几种.
- 原生的网络请求是什么.
- 原生的数据库是什么.
- 请求回来的网络数据如何解析.
- ADT/ADB/SDK/ANR/OOM都是什么意思.
- 当前的SDK最高版本是多少,AS的版本是多少.
- 6.0与7.0均新加的什么特性.
- AS的常用快捷键.
- 什么情况下会导致ANR,如何避免.
- ListView的运行机制.
- 适配器的优化方式,适配器几个方法的意义.
- ListView如何加载不同的行布局.
- 如何解决和避免内存泄露.
- 横竖屏切换的时候Activity会重新加载布局,那么数据如何保存.
- 你常用哪种Http请求方式.(Post和Get),二者的区别.
- 简述Http,TCP/IP,Socket三者的关系.
- 说一下你所了解的网络请求框架,都有什么.他们之间的区别.
- Volley的基本使用方法,封装原则.
- 项目中你是如何使用Volley的,是否对Request类进行了重写.
- Volley能不能进行同步的网络请求,如果可以,怎么做.
- Volley加载图片的方法用过没有,图片的缓存是如何实现的.
- OkHttp的使用方式.与Volley有何不同.
- OkHttp如何下载文件,Volley能不能下载.
- 大文件的下载过程你一般是如何做的.
- 用过Retrofit么,对它进行一下简单的介绍,包括使用方式.
- 你是如何进行数据库的操作的.
- 图片你是如何加载的.
- design包下的控件都使用过什么.
- 知道材料设计(material design)么.
- Fragment有几种使用方式.
- Serializable 和 Parcelable的联系和区别.
- 如何将Activity设置为窗口模式.
二.进阶
- 简述Handler机制的原理.
- 说一下事件分发机制.
- View的绘制过程.
- 都有哪些方式可以实现进程间通信.
- 代码混淆是干嘛的.
- gradle是干嘛的.
- 关于内存优化,你都做过什么.
- Activity的启动方式.
- ActivityA启动了ActivityB,那么A的onPause()方法和B的onCreate()方法谁先执行.
- Fragment与宿主Activity进行通信,有哪些方式,请说明.
-
一般来说,一个应用程序一共有多少个Context.
Context的个数等于Activity的个数 + Service个数 + 1 (Application也是Context)
- 如何一次性退出所有的Activity,有哪些解决方案.