`

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

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

    android自定义ViewGroup总结

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

    自定义ViewGroup实现滑屏等动作

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

    AndroidViewGroup使用注意事项最新版本

    合理地组织视图层级不仅可以提高应用的性能,还可以使布局更加清晰易懂。 接下来,开发者需要注意的是ViewGroup的子视图管理。在管理子视图时,要特别注意添加和删除视图的操作,这些操作可能会影响布局的性能。...

    自定义ViewGroup

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

    Android中View绘制流程

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

    ViewGroupDemo

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

    AndroidView绘制流程

    此外,为了提高性能,Android系统引入了多种优化机制,如硬件加速、离屏渲染、View缓存等,以减少不必要的绘制操作,提升应用的响应速度和流畅度。 ### 总结 Android View的绘制流程是一个复杂但有序的过程,涉及...

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

    硬件加速会开启一个新的绘制通道,使得UI的绘制任务可以在GPU上完成,这不仅提高了绘制性能,还改善了动画和滚动的流畅性。 最后,Android UI的绘制原理分析不仅限于应用层面,还涉及到Android系统的底层。这包括...

    继承ViewGroup Demo

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

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

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

    android 绘制图形

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

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

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

Global site tag (gtag.js) - Google Analytics