【发布时间】:2017-02-08 07:41:45
【问题描述】:
我尝试获取View的缓存位图,代码如下:
View cachingView = getActivity().getWindow().getDecorView().getRootView();
cachingView.setDrawingCacheEnabled(true);
cachingView.setLayerType(View.LAYER_TYPE_NONE,null);
cachingView.setDrawingCacheQuality(View.DRAWING_CACHE_QUALITY_LOW);
Bitmap bitmap = Bitmap.createBitmap(cachingView.getDrawingCache());
LogHelper.i("bitmap size: "+bitmap.getByteCount());
LogHelper.i("bitmap size: "+ BitmapCompat.getAllocationByteCount(bitmap));
打印结果是:
位图大小:14745600
位图大小:14745600
显然,它太大了。我更改了 setDrawingCacheQuality 的不同参数,但结果是一样的。
如何获得更小的位图?
谢谢
【问题讨论】:
-
任何机构都可能遇到过这个问题,或者有没有其他方法可以得到更小的后台缓存?
标签: android caching bitmap out-of-memory