我发布了同样的问题,但它接近我的问题,这就是我第二次发布它的原因
嗨,我想从RelativeLayout捕获图像,因为我使用下面的代码
captureRelativeLayout.setDrawingCacheEnabled(true); bitmap = captureRelativeLayout.getDrawingCache(true).copy( Config.ARGB_8888,false);
问题是,当我开始活动并从那个时候从该视图中获取图像时它会正常工作,但如果我第二次使用它,图像不会被刷新,意味着每次我得到的是前一个位图.
现在,如果我关闭我的活动并且agian启动它,那么我将获得更新的图像,但不是第二次
:(有关更多信息,请查看
can’t share image properly android
解决方法
您应该在复制后销毁图形缓存,因此下次调用getDrawingCache()时将再次构建缓存.
代码如下所示:
captureRelativeLayout.setDrawingCacheEnabled(true); bitmap = captureRelativeLayout.getDrawingCache(true).copy(Config.ARGB_8888,false); captureRelativeLayout.destroyDrawingCache();
或者像这样,如果你不想启用标志:
captureRelativeLayout.buildDrawingCache(true); bitmap = captureRelativeLayout.getDrawingCache(true).copy(Config.ARGB_8888,false); captureRelativeLayout.destroyDrawingCache();
参考:https://groups.google.com/d/msg/android-developers/IkRXuMtOA5w/zlP6SKlfX-0J