2012-03-01 91 views
2

我遇到了2种制作屏幕截图的方法。捕获屏幕截图的正确方法

我想知道,

  1. 什么是两个例子之间的不同?哪种方法是正确的?
  2. 示例1可能有资源/内存泄漏问题?

实施例1

View v = rootView.findViewById(R.id.layout1); 
if (v != null) { 
    v.setDrawingCacheEnabled(true); 
    Bitmap bitmap = v.getDrawingCache(); 
    canvas.drawBitmap(bitmap, dummyMatrix, null); 
    // Possible resource/ memory leak? 
} 

实施例2

View v = rootView.findViewById(R.id.layout1); 
if (v != null) { 
    v.buildDrawingCache(); 
    Bitmap bitmap = v.getDrawingCache(); 
    canvas.drawBitmap(bitmap, dummyMatrix, null); 
    v.destroyDrawingCache(); 
} 

回答