6.View绘制
-
View绘制流程
-
MeasureSpec是什么
-
子View创建MeasureSpec创建规则是什么
-
自定义Viewwrap_content不起作用的原因
-
在Activity中获取某个View的宽高有几种方法
-
为什么onCreate获取不到View的宽高
-
View#post与Handler#post的区别
-
Android绘制和屏幕刷新机制原理
-
Choreography原理
-
什么是双缓冲
-
为什么使用SurfaceView
-
什么是SurfaceView
-
View和SurfaceView的区别
-
SurfaceView为什么可以直接子线程绘制
-
SurfaceView、TextureView、SurfaceTexture、GLSurfaceView
-
getWidth()方法和getMeasureWidth()区别
-
invalidate() 和 postInvalidate() 的区别
-
Requestlayout,onlayout,onDraw,DrawChild区别与联系
-
LinearLayout、FrameLayout 和 RelativeLayout 哪个效率高
-
LinearLayout的绘制流程
-
自定义 View 的流程和注意事项
-
自定义View如何考虑机型适配
-
自定义控件优化方案
-
invalidate怎么局部刷新
-
View加载流程(setContentView)
7.View事件分发
-
View事件分发机制
-
view的onTouchEvent,OnClickListerner和OnTouchListener的onTouch方法 三者优先级
-
onTouch 和onTouchEvent 的区别
-
ACTION_CANCEL什么时候触发
-
事件是先到DecorView还是先到Window
-
点击事件被拦截,但是想传到下面的View,如何操作
-
如何解决View的事件冲突
-
在 ViewGroup 中的 onTouchEvent 中消费 ACTION_DOWN 事件,ACTION_UP事件是怎么传递
-
Activity ViewGroup和View都不消费ACTION_DOWN,那么ACTION_UP事件是怎么传递的
-
同时对父 View 和子 View 设置点击方法,优先响应哪个
-
requestDisallowInterceptTouchEvent的调用时机
8.RecycleView
-
RecyclerView的多级缓存机制,每一级缓存具体作用是什么,分别在什么场景下会用到哪些缓存
-
RecyclerView的滑动回收复用机制
-
RecyclerView的刷新回收复用机制
-
RecyclerView 为什么要预布局
-
ListView 与 RecyclerView区别
-
RecyclerView性能优化
9.Viewpager&Fragment
-
Fragment的生命周期 & 结合Activity的生命周期
-
Activity和Fragment的通信方式, Fragment之间如何进行通信
-
getFragmentManager、getSupportFragmentManager 、getChildFragmentManager之间的区别?
-
为什么使用Fragment.setArguments(Bundle)传递参数
-
FragmentPagerAdapter与FragmentStatePagerAdapter的区别与使用场景
-
FragmentPageAdapter和FragmentStatePageAdapter区别及使用场景
-
Fragment懒加载
-
ViewPager2与ViewPager区别
-
Fragment嵌套问题
10.WebView
-
如何提高WebView加载速度
-
WebView与 js的交互
-
WebView的漏洞
-
JsBridge原理
11.动画
-
动画的类型
-
补间动画和属性动画的区别
-
ObjectAnimator,ValueAnimator及其区别
-
TimeInterpolator插值器,自定义插值器
-
TypeEvaluator估值器