ANDROID 对VIEW 截图的两种方式

本文介绍了两种获取Android View截图的方法,并对其优缺点进行了比较。第一种方法使用View的getDrawingCache功能,第二种方法使用createBitmap进行截图。从内存使用上,第一种方法优于第二种,但第二种方法在自定义需求上更为灵活。

如下:


1.View.setDrawingCacheEnabled(true);

   bitmap = scrollView1.getDrawingCache();

View.setDrawingCacheEnabled(false);

    return bitmap;


2. bitmap = Bitmap.createBitmap(View.getWidth(), View.getHeight(), Bitmap.Config.RGB_565);(假如要对Bitmap进行比如毛玻璃效果的模糊,就不能使用RGB_565,得使用占用内存更多的ARGB_4444或8888)
   Canvas canvas = new Canvas(bitmap);
   View.setVisibility(0);
   View.draw(canvas);

   return bitmap;


以上两种方法适用于大部分VIEW , 不过只能截到View在屏幕的可视部分


优缺点:

从内存使用上,1比2更好 ,2的 createBitmap 方法更有可能会引起OOM

从自定义的角度上看,2更灵活


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值