【Android】RelativeLayout性能优化,避免画面卡顿
2018-01-14 01:27
387 查看
今天在照着书写拖动seekbar来改变图片的色调、饱和度和亮度的demo的时候,
发现自己的demo在拖动seekbar的时候比书上的demo要有明显的卡顿。
一开始以为是SeekbarAPI更新的问题,我用的是26的API,书上的是21的API,
但很快这种怀疑的念头就被打消了,google控件越更新越卡这种情况应该不常见。
于是在布局里面找原因,
发现RelativeLayout可以设置orientation,当我添加了orientation="vertical"时,
奇迹出现了,拖动seekbar改变图片颜色卡顿的情况有了明显的改善,
这时才想到,RelativeLayout在绘制的时候,会在竖直方向和水平方向分别绘制两次来确定控件的位置。
当我们增加了orientation="vertical",View就会取消掉水平方向上的绘制,从而达到优化流畅度的效果。
发现自己的demo在拖动seekbar的时候比书上的demo要有明显的卡顿。
一开始以为是SeekbarAPI更新的问题,我用的是26的API,书上的是21的API,
但很快这种怀疑的念头就被打消了,google控件越更新越卡这种情况应该不常见。
于是在布局里面找原因,
发现RelativeLayout可以设置orientation,当我添加了orientation="vertical"时,
奇迹出现了,拖动seekbar改变图片颜色卡顿的情况有了明显的改善,
这时才想到,RelativeLayout在绘制的时候,会在竖直方向和水平方向分别绘制两次来确定控件的位置。
当我们增加了orientation="vertical",View就会取消掉水平方向上的绘制,从而达到优化流畅度的效果。
相关文章推荐
- android Android性能优化之如何避免Overdraw
- Android布局优化技巧include、merge、stubView;LinearLayout和RelativeLayout的性能比较
- Android 性能优化——避免过度绘制
- Android性能优化之如何避免Overdraw
- Android性能优化之如何避免Overdraw
- Android 性能优化:使用 TraceView 找到卡顿的元凶
- Android 优化性能之 如何避免--过度绘制
- android Android性能优化之如何避免Overdraw
- Android性能优化之如何避免Overdraw
- Android性能优化之如何避免Overdraw
- Android性能优化之避免内存泄漏的建议
- Android性能优化(六)之卡顿那些事
- Android 性能优化:使用 TraceView 找到卡顿的元凶
- Android性能优化之避免过度渲染
- Android性能优化之避免过度渲染
- 【凯子哥带你学Android】Andriod性能优化之列表卡顿——以“简书”APP为例
- Android性能优化之如何避免Overdraw
- Android 性能优化:使用 TraceView 找到卡顿的元凶
- Android性能优化——如何避免OOM总结
- Android性能优化之如何避免Overdraw