Viewgroup如果下面有很多子View。绘制的时候,需要开启其子View的绘制缓存。从而提高绘制效率。具体的代码如下
public void setChildrenDrawingCacheEnabled(boolean enabled) {
final int count = getChildCount();
for (int i = 0; i < count; i++) {
final View view = getChildAt(i);
view.setDrawingCacheEnabled(true);
// Update the drawing caches
view.buildDrawingCache(true);
}
}
另一方面也可以通过setDrawingCacheQuality(low),将缓存质量降低,减少内存。
最后结束的时候,需要通过以下代码来清空绘制缓存.
void clearChildrenCache() {
final int count = getChildCount();
for (int i = 0; i < count; i++) {
final CellLayout layout = (CellLayout) getChildAt(i);
layout.setChildrenDrawnWithCacheEnabled(false);
}
}
转自:http://blog.csdn.net/wukunting/article/details/6703183
分享到:
相关推荐
对于开发者来说,理解View和ViewGroup的绘制原理以及手势监听机制,不仅可以优化UI性能,还能为用户提供更流畅、更符合预期的交互体验。 在源码层面,深入研究Android Framework中的View和ViewGroup类,可以帮助...
6. **性能优化**:创建自定义`ViewGroup`时,应尽量减少不必要的测量、布局和绘制操作,以提高性能。可以利用`ViewGroup`的优化特性,如`requestLayout()`和`invalidate()`的正确使用,避免不必要的重绘。 7. **...
4. 使用硬件加速:开启硬件加速可以提高ViewGroup的绘制性能,但要注意某些自定义图形可能不支持硬件加速。 总的来说,自定义ViewGroup是Android开发中的一项高级技能,它能帮助开发者构建独特的用户界面和交互体验...
在实际项目中,你可能还会遇到性能优化的问题,比如使用硬件加速、避免过度绘制等。此外,如果你希望圆角只应用于特定的角落,那么可能需要进一步调整`onDraw()`方法中的逻辑。 总的来说,“Android-可以指定圆角的...
使用ViewStub延迟加载非必需的子视图,或者利用硬件加速提高绘制效率。 7. **代码示例**:`PreviewLayout.java`可能是博主给出的一个自定义ViewGroup示例,可能包含了特定的布局逻辑和交互功能。通过阅读和分析这个...
过度绘制和不必要的测量计算会影响性能。可以通过设置FLAG_HARDWARE_ACCELERATED标志开启硬件加速,以及合理使用View的测量模式MEASURED_SIZE_MASK和MEASURED_STATE_TOO_SMALL来提高效率。 总之,自定义ViewGroup是...
3. **使用硬件加速**:开启硬件加速可以提高绘制性能。可以在构造函数中调用`setLayerType(View.LAYER_TYPE_HARDWARE, null)`。 4. **合理使用LayoutParams**:使用自定义ViewGroup时,子视图通常需要使用对应的...
- **硬件加速**:从Android 3.0(Honeycomb)开始,系统默认开启了硬件加速,它利用GPU进行图形渲染,提高了性能但可能引入一些限制。开发者可以通过设置属性控制是否启用。 理解并掌握View的绘制流程,可以帮助...
- **性能优化**:为了提高性能,避免一次性加载所有页面,可以采用懒加载策略。只在需要时加载当前及相邻的页面,减少内存消耗。 - **状态保存和恢复**:当设备旋转或应用被系统暂停时,`ViewGroup`需要保存和恢复...
自定义`ViewGroup`不仅可以提高性能,还可以避免使用嵌套布局带来的复杂性,从而优化应用的性能和用户体验。 总之,自定义`ViewGroup`是Android开发中的高级技巧,它允许开发者创建独特且高度定制的布局,进一步...
考虑使用`ViewDragHelper`,它提供了一套预处理的拖放框架,可以提高性能和用户体验。 - 只在必要的时候调用`requestLayout()`,过多的调用会降低性能。 6. **样式和交互设计** - 可以通过设置边框、阴影等效果来...
在Android手机开发中,绘制图形是一项重要的技能,它允许开发者创造出独特的用户界面和交互体验。Android提供了多种方式来实现图形绘制,包括...在实际应用中,还需要结合性能优化策略,确保图形绘制的流畅性和效率。
从Android 3.0(Honeycomb)开始,系统默认开启了硬件加速,利用GPU处理图形渲染,提高UI性能。但并非所有操作都支持硬件加速,某些自定义View可能需要手动开启或关闭。 五、性能优化 1. **减少无效绘制**:避免在...
6. **优化绘制性能** - 注意避免在onDraw()中执行复杂的计算或网络请求,这会降低UI的刷新速度。尽可能将这些操作放在后台线程。 - 使用硬件加速(硬件加速默认在API 14及以上版本开启),可以提高绘图性能。 7. ...
为了避免这种情况,Android引入了硬件加速机制,通过GPU协助处理一部分绘制任务,提高性能。同时,还可以利用`postInvalidate()`或`invalidate()`异步刷新界面,避免阻塞主线程。 为了优化UI性能,开发者可以采用...