Android面试题2

1 手写算法题。一共有3个,面试官随机选择一个。猫扑素数;1到n,求1的个数;单词反转。

2 Activity的加载模式。

standard,singleTop,singleTask,singleInstance。
可以参考

2.1 什么时候会用到singleTask?

在MainActivity的时候用到

3 Handler机制?

MessageQueue,Looper等。

3.1 一个线程是否只有一个Looper?

3.2 如何保证一个线程只有一个Looper?

参考:ThreadLocal

4 多线程的方式有哪些?

  1. new Thread()
  2. AsyncTask
  3. Handler
  4. IntentService
  5. ThreadPoolExecutor

5 ANR异常发生条件

1)5s内没有响应用户输入事件
2)10s内广播接收器没有处理完毕
3)20s内服务没有处理完毕

5.1 如何分析ANR

log+trace.txt

6自定义View和ViewGroup

说一下自己定义的组件就行

7 事件处理

分发,拦截,处理。只是View没有拦截处理

8 GC算法

标记清除,标记整理,复制,分代收集
参考
把上面文章弄懂了,就能刷过GC

9 四大引用

强,软,弱,虚,并说明下合适GC

10 动画

View动画,属性动画,帧动画。再说下View和属性动画区别。
参考

11 Dalvik和Art区别?(Just In Time和Ahead Of Time)

你可能感兴趣的:(Android面试题2)