`

ViewGroup提高绘制性能

阅读更多
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
分享到:
评论

相关推荐

    Android中的View与ViewGroup绘制过程,手势监听顺序与使用

    对于开发者来说,理解View和ViewGroup的绘制原理以及手势监听机制,不仅可以优化UI性能,还能为用户提供更流畅、更符合预期的交互体验。 在源码层面,深入研究Android Framework中的View和ViewGroup类,可以帮助...

    创建定制的ViewGroup

    6. **性能优化**:创建自定义`ViewGroup`时,应尽量减少不必要的测量、布局和绘制操作,以提高性能。可以利用`ViewGroup`的优化特性,如`requestLayout()`和`invalidate()`的正确使用,避免不必要的重绘。 7. **...

    Android自定义ViewGroup(一)

    4. 使用硬件加速:开启硬件加速可以提高ViewGroup的绘制性能,但要注意某些自定义图形可能不支持硬件加速。 总的来说,自定义ViewGroup是Android开发中的一项高级技能,它能帮助开发者构建独特的用户界面和交互体验...

    android自定义ViewGroup总结

    使用ViewStub延迟加载非必需的子视图,或者利用硬件加速提高绘制效率。 7. **代码示例**:`PreviewLayout.java`可能是博主给出的一个自定义ViewGroup示例,可能包含了特定的布局逻辑和交互功能。通过阅读和分析这个...

    Android-可以指定圆角的ViewGroup

    在实际项目中,你可能还会遇到性能优化的问题,比如使用硬件加速、避免过度绘制等。此外,如果你希望圆角只应用于特定的角落,那么可能需要进一步调整`onDraw()`方法中的逻辑。 总的来说,“Android-可以指定圆角的...

    自定义ViewGroup实现滑屏等动作

    过度绘制和不必要的测量计算会影响性能。可以通过设置FLAG_HARDWARE_ACCELERATED标志开启硬件加速,以及合理使用View的测量模式MEASURED_SIZE_MASK和MEASURED_STATE_TOO_SMALL来提高效率。 总之,自定义ViewGroup是...

    自定义ViewGroup

    3. **使用硬件加速**:开启硬件加速可以提高绘制性能。可以在构造函数中调用`setLayerType(View.LAYER_TYPE_HARDWARE, null)`。 4. **合理使用LayoutParams**:使用自定义ViewGroup时,子视图通常需要使用对应的...

    Android中View绘制流程

    - **硬件加速**:从Android 3.0(Honeycomb)开始,系统默认开启了硬件加速,它利用GPU进行图形渲染,提高了性能但可能引入一些限制。开发者可以通过设置属性控制是否启用。 理解并掌握View的绘制流程,可以帮助...

    ViewGroupDemo

    - **性能优化**:为了提高性能,避免一次性加载所有页面,可以采用懒加载策略。只在需要时加载当前及相邻的页面,减少内存消耗。 - **状态保存和恢复**:当设备旋转或应用被系统暂停时,`ViewGroup`需要保存和恢复...

    继承ViewGroup Demo

    自定义`ViewGroup`不仅可以提高性能,还可以避免使用嵌套布局带来的复杂性,从而优化应用的性能和用户体验。 总之,自定义`ViewGroup`是Android开发中的高级技巧,它允许开发者创建独特且高度定制的布局,进一步...

    ViewGroup实现九宫格并可拖动位置

    考虑使用`ViewDragHelper`,它提供了一套预处理的拖放框架,可以提高性能和用户体验。 - 只在必要的时候调用`requestLayout()`,过多的调用会降低性能。 6. **样式和交互设计** - 可以通过设置边框、阴影等效果来...

    android 绘制图形

    在Android手机开发中,绘制图形是一项重要的技能,它允许开发者创造出独特的用户界面和交互体验。Android提供了多种方式来实现图形绘制,包括...在实际应用中,还需要结合性能优化策略,确保图形绘制的流畅性和效率。

    Android UI 界面绘制原理分析.zip

    从Android 3.0(Honeycomb)开始,系统默认开启了硬件加速,利用GPU处理图形渲染,提高UI性能。但并非所有操作都支持硬件加速,某些自定义View可能需要手动开启或关闭。 五、性能优化 1. **减少无效绘制**:避免在...

    Adroid UI 界面绘制原理分析.zip

    为了避免这种情况,Android引入了硬件加速机制,通过GPU协助处理一部分绘制任务,提高性能。同时,还可以利用`postInvalidate()`或`invalidate()`异步刷新界面,避免阻塞主线程。 为了优化UI性能,开发者可以采用...

Global site tag (gtag.js) - Google Analytics