Android面试题系列 --4 View

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ThePromonkeyOf_HeLuo/article/details/79978675

View

View,SurfaceView,TexTureView区别
View是Android中基础的控件基类;
SurfaceView和TexTureView,都能在子线程更新UI。
SurfaceView提供了嵌入视图层级的绘制界面,界面更新频繁的时性能高。局限在于:1.是独立View,更像是独立的一个Window,不能加上动画。2.两个SurfaceView不能相互覆盖。;
TexTureView,能被缩放、平移,也能加上动画。TextureView只能在开启了硬件加速的Window中使用,并且消费的内存要比SurfaceView多,并伴随着1-3帧的延迟。

ViewGroup

AdapterView

ListView优势

ListView采用的是RecyclerBin的回收机制在一些轻量级的List显示时效率更高!

绘制机制

连续调用5次invalidate(),会重绘几次?
答:重绘1次。

自定义View

上拉加载,下拉刷新

继承SwipeRefreshLayout,通过自定义View实现。
上拉加载:1. 覆写onLayout,再里面获取到子控件,并设置滑动监听;2. 覆写dispatchTouchEvent(MotionEvent ev),处理分发事件,当滑动到最后时,并且时上拉操作,就通过接口进行加载数据操作。

下拉刷新:
就是监听手指的运动,获取手指的坐标,通过计算判断出是哪种操作,然后就是回调相应的接口了。

手势机制

如何解决滑动冲突

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页