Android Ul面试题阅读指南(必看)

大家好,我是帅地。

为了方便大家复习,这些面试题的展示采取了右边面试题目,左边答案的方式,方便大家按需查看。

由于手机端不支持这种展示方式,当然,为了手机方便阅读,下面会贴出所有面试题答案链接,不过大家最好在 PC 电脑端阅读哈,相关面试题还会持续更新,尽量补充完善起来,建议收藏帅地的网站哦。

面试题链接汇总

1. 详细请介绍下Android中常用的五种布局?

2. 简述Android ListView的优化方案?

3. AIDL的全称是什么?如何工作?能处理哪些类型的数据?

4. 简述Android中的几种动画?

5. 简述Android 屏幕适配的方式 ?

6. 如何理解Android的layout_weight概念?

7. SurfaceView & View 的区别?

8. 请阐述自定义View概念?

9. 简述Android UI中的View刷新机制?

10. 简述ListView 如何实现分页加载 ?

11. ListView 如何定位到指定位置?

12. 如何在 ScrollView 中如何嵌入 ListView?

13. ListView 中图片错位的问题是如何产生的?

14. 如何在ListView间添加分割线?

15. 简述一下 Android 中 UI 的刷新机制?

16. Window和DecorView是什么?DecorView又是如何和Window建立联系的?

17. LinearLayout, FrameLayout,RelativeLayout 哪个效率高, 为什么?

18. 简述Android RecyclerView的优化措施 ?

19. Android自定义View / ViewGroup的步骤?

20. 简述 Paint类中主要绘制方法 ?

21. 简述自定义LayoutManager的流程?

22. 简述什么是 RemoteViews?使用场景有哪些?

23. 获取View宽高的几种方法?

24. 简述 getDimension、getDimensionPixelOffset 和 getDimensionPixelSize 三者的区别?

25. 简述ConstraintLayout的概念?它有哪些特点?

26. LayoutInflater,它是如何通过inflate 方法获取到具体View的?

27. 简述RecyclerView的缓存机制?

28. View.inflate和LayoutInflater.inflate的区别?

29. 简述invalidate()和postInvalidate()方法的区别和应用场景?

30. 简述SurfaceView与TextureView的使用场景和用法?

31. Android中View几种常见位移方式的区别?

32. 阐述什么是同步屏障?

33. 阐述ViewDragHelper的工作原理?

34. 详细解释RecyclerView的机制 ?

35. 简述View视图绘制过程原理 ?

36. 简述Android解决滑动冲突的方式 ?

37. 简述IntentService原理分析 ?

38. 简述在Activity启动的时候获得View宽高的方式 ?

39. 简述不使用动画如何实现一个动态的View ?

40. 简述RecycleView与ListView的对比 ?

41. 简述Android动画原理 ?

42. 简述如何实现Listview的逐行显示 ?

43. 简述Android图片的异步加载的方法 ?

44. 简述Android瀑布流实现方式?

45. 简述如何实现ListView上拉加载监听 ?

46. 简述ViewPager如何实现 ?

47. 为什么Android系统不建议子线程访问UI ?

48. 简述是如何给ListView & RecyclerView加上拉刷新 & 下拉加载更多机制 ?

49. 简述是如何对ListView & RecycleView进行局部刷新的 ?

50. 简述自定义Viewwrap_content不起作用的原因 ?

51. 简述为什么onCreate获取不到View的宽高 ?

52. 简述View#post与Handler#post的区别 ?

53. 简述什么是双缓冲 ?

54. 简述SurfaceView为什么可以直接子线程绘制 ?

55. 简述SurfaceView、TextureView、SurfaceTexture、GLSurfaceView ?

56. 简述getWidth()方法和getMeasureWidth()区别 ?

57. 简述Requestlayout,onlayout,onDraw,DrawChild区别与联系 ?

58. 简述LinearLayout、FrameLayout 和 RelativeLayout 哪个效率高 ?

59. 简述LinearLayout的绘制流程 ?

60. 简述自定义View如何考虑机型适配 ?

61. 简述自定义UI控件优化方案 ?

62. 简述invalidate怎么局部刷新 ?

63. 简述View加载流程(setContentView) ?

64. 简述ACTION_CANCEL什么时候触发 ?

65. 简述点击事件被拦截,但是想传到下面的View,如何操作 ?

66. 简述如何解决View的事件冲突 ?

67. 简述Activity ViewGroup和View都不消费ACTION_DOWN,那么ACTION_UP事件是怎么传递的 ?

68. 简述同时对父 View 和子 View 设置点击方法,优先响应哪个 ?

69. 简述requestDisallowInterceptTouchEvent的调用时机 ?

70. 简述ViewPager2与ViewPager区别 ?

71. 简述如何提高WebView加载速度 ?

72. 简述WebView与 js的交互流程 ?

73. 简述WebView的漏洞 ?

74. 简述RecyclerView的多级缓存机制,每一级缓存具体作用是什么,分别在什么场景下会用到哪些缓存 ?

75. 简述RecyclerView的滑动回收复用机制 ?

76. 简述RecyclerView的刷新回收复用机制 ?

77. 简述RecyclerView 为什么要预布局 ?

78. 简述ObjectAnimator,ValueAnimator及其区别 ?

79. 简述TimeInterpolator插值器,自定义插值器 ?

80. 简述TypeEvaluator估值器 ?

81. 简述Bitmap 内存占用的计算 ?

82. 简述getByteCount() & getAllocationByteCount()的区别 ?

83. 简述LruCache & DiskLruCache原理 ?

84. 简述如果在hdpi、xxhdpi下放置了图片,加载的优先级。如果是400_800,1080_1920,加载的优先级 ?

85. 简述什么是WindowManager ?

86. 简述什么是DecorView ?

87. 简述DecorView什么时候被WindowManager添加到Window中 ?

88. 简述WMS是如何管理Window的 ?

89. 简述IWindowSession是什么,WindowSession的创建过程是怎样的 ?

90. 简述Dialog的Context只能是Activity的Context,不能是Application的Context ?

91. 简述App应用程序如何与SurfaceFlinger通信的 ?

92. 简述View 的绘制是如何把数据传递给 SurfaceFlinger 的 ?

93. 简述relayout是如何向SurfaceFlinger申请Surface ?

94. 简述什么是Surface ?

95. 简述什么是Navigation ?

96. 简述什么是DataBinding ?

97. 简述什么是Viewmodel ?

98. 简述什么是livedata ?

99. 简述WindowToken是什么 ?

100. 简述WindowState是什么 ?

发表评论

后才能评论