2019最全Android面试题总结-答案解读(持续更新中。。。)

视图相关

系统View组件

  • ListView
    • Q:ListView为什么可以加载1000个条目不崩?
    • Q:什么是RecycleBin,它是怎么和ListView回收和复用的?
    • Q:你知道notifyDataSetChanged方法干了啥吗?调用之后为啥ListView就刷新了?
    • Q:你知道ListView的跟手滑动和fling是怎么实现的吗?
  • 考察知识点:ListView源码、设计模式
  • 思路:这其实是考察是否看过ListView的源码,对于适配器模式、观察者模式是否有自己的见解。
  • 参考答案:详见我这篇文章Android面试—ListView原理及fling分析
  • ScrollView
    • Q:ScrollView的测量过程,滑动过程以及fling的实现?
  • FrameLayout
    • Q:FrameLayout的布局过程?
  • LinearLayout
    • Q:LinearLayout的布局过程?
  • RecyclerView
  • CoordinatorLayout(协同布局)
  • ConstraintLayout(约束布局)

测量

  • 考察知识点:测量流程、自定义View
  • 思路:这题其实就是考察是否熟悉绘制流程的源码,我在5分钟告诉你,Activity的视图绘制流程(onMeasure、onLayout、onDraw的调用和参数解释)文章中讲过。
  • 参考回答:MeasureSpec在刚爷的书里面讲的很细,onMeasure中的MeasureSpec是由父布局的onMeasure方法中的measureChild调用,其中的MeasureSpec是由父布局的MeasureSpec和子布局的layoutParams共同决定的,由size和mode组成,是一个32位的int值,其中前2位是mode,后30位是size,主要提供getSize()和getMode()方法,其中mode有Unspecified、exactly、at_most几种类型。

绘制相关

  • Q:什么是SurfaceFlinger FrameBuffer Surface ?
  • Q:为什么我们说主线程的操作不要操作16ms?
  • Q:什么是VSYNC(垂直同步)、格栅化?
  • Q:什么是掉帧jank,怎么处理?(双缓冲和三缓存机制)

设计模式

ps

这篇是上篇2019最全Android面试题总结(持续更新中。。。)的答案,上篇主要是题目总结。

完整Android学习路径 请戳我的Android学习之旅

参考

厘米姑娘文章汇总|学习Android的一点一滴

猜你喜欢

转载自blog.csdn.net/wangzhibo666/article/details/87879500