万国商汇
- java三大特性,对多态的理解
- 封装、继承、多态
- 多态:父类的引用可以指向子类的对象
- 事件传递的顺序:Activity->ViewGroup->View
- dispatchTouchEvent:分发点击事件
- onInterceptTouchEvent:判断是否拦截了某个事件
- onTouchEvent:处理点击,
- view的绘制过程
- 三个阶段
- measure:判断是否需要重新计算view的大小
- layout:判断是否需要重新计算view的位置
- draw:判断是否需要重新绘制view,绘制背景、绘制自身、绘制子view;
- 横竖屏切换的生命周期变化
- 3.2之前
- onSaveInstanceState
- onPause
- onStop
- onDestroy
- onCreate
- onStart
- onResume
- 3.2及之后
- onPause
- onSaveInstanceState
- onStop
- onDestroy
- onCreate
- onStart
- onResume
- 引起oom的几种方式
- 静态集合类
- 当集合里对象属性被修改时再调用remove时不起作用;
- 监听器;
- 各种连接:数据库、网络、IO;
- 内部类和外部模块的引用;
- 单例模式:单例对象持有外部引用;
环球优路
合众伟奇
- android系统架构图;
- intent service中可执行耗时操作;
- exception handler:全局异常补货;
- web加密:a.接口只允许内网访问;b.接口请求前先和服务端进行验密,获取动态密钥,每个设备请求生成的相关签名等参数都不一致;
- socket:原理;mina框架(基于socket);
- 热修复原理;
- 进程间通信:aidl、广播、ContentProvider;
- service的两种使用方式分别是在哪种场景使用的
- 为了满足开发者处理后台任务的需要,Android提供了Service这个组件,同时为了方便开发者使用Service,又封装了一个IntentService。当然,现在很多App在处理后台任务的时候并没有优先使用Service,而是自己实现了一套线程池机制或者使用Android提供的AsyncTask来执行后台任务,这里我们来分析下他们各自的优劣:
- i. 用于长期执行某些操作,并且甚至与UI(主)线程没有交互。比如启动app直接去网络下载文件
- ii. 跨进程间通信&