请解释一下绘图缓存在Android中是如何工作的.我正在实现一个自定义View子类.我希望系统缓存我的绘图.在View构造函数中,我调用
setDrawingCacheEnabled(true);
Run Code Online (Sandbox Code Playgroud)
然后在绘图(Canvas c)中,我做:
Bitmap cac = getDrawingCache();
if(cac != null)
{
c.drawBitmap(cac, 0, 0, new Paint());
return;
}
Run Code Online (Sandbox Code Playgroud)
然而,getDrawingCache()回报对我来说无效.我draw()既不是来自setDrawingCacheEnabled(),也不是来自getDrawingCache().拜托,我做错了什么?
这段代码中缺少什么?这个代码适用于ICS.在API 8上,滚动出现,一些内容超出屏幕.在这种情况下如何获得绘图缓存?
码:
TableLayout page = (TableLayout) findViewById(R.id.page);
page.setDrawingCacheEnabled(true);
page.buildDrawingCache();
// getDrawingCache returns null...
Bitmap pageBmp = Bitmap.createBitmap(page.getDrawingCache(true));
page.destroyDrawingCache();
page.setDrawingCacheEnabled(false);
Run Code Online (Sandbox Code Playgroud)