Android系统未来加速view的渲染性能,采用了DrawingCache机制 :
1. 通过budingDrawingCache将view的视图绘制到一个Bitmap上
2. 渲染view时,如果getDrawingCache返回了之前缓存的视图Bitmap,则直接使用该Bitmap进行绘制
DrawingCache的性能提升是以增加内存消耗(Bitmap)为代价的,如果一个app中使用DrawingCache的视图数量过多,则会引起频繁GC,反而导致性能严重下降。此时可通过:
1. 禁用DrawingCache
2. 提高view的onDraw性能
提高整体性能。
附:禁用DrawingCache的方法:
@Override
public Bitmap getDrawingCache() {
return null;
}
@Override
public Bitmap getDrawingCache(boolean autoScale) {
return null;
}
@Override
public void buildDrawingCache(final boolean autoScale) { //不支持DrawCache
}
@Override
public void buildDrawingCache() { //不支持DrawCache
}
本文介绍了Android系统中DrawingCache机制的工作原理及其对视图渲染性能的影响。DrawingCache通过将视图绘制到Bitmap上进行缓存来提升渲染速度,但也会增加内存消耗。文中还提供了禁用DrawingCache的方法以及提高view onDraw性能的建议。

被折叠的 条评论
为什么被折叠?



