Activity之间传递数据之Bitmap

来源:互联网 发布:白苹果修复数据还在吗 编辑:程序博客网 时间:2024/04/29 11:02

做项目时涉及到Activity之间传Bitmap,查看Bitmap实现了Parcelable,所以就把Bitmap放到bundle里,在480X800分辨率的手机测试正常,换到红米720X1280分辨率的手机就死机了,Debug发现就是传递Bitmap引起的,在网上查了相关的资料说不能直接传递40K的图片,于是把Bitmap转成Byte传递就正常了,当然也可以把Bitmap保存为临时图片,再传递文件路径。


传Byte的代码如下:

Intent intent=new Intent(this,TwoActivity.class);ByteArrayOutputStream baos=new ByteArrayOutputStream();bitmap.compress(Bitmap.CompressFormat.PNG, 100, baos);byte [] bitmapByte =baos.toByteArray();intent.putExtra("bitmap", bitmapByte);startActivity(intent);

另个Activity取数据:

byte [] bis=intent.getByteArrayExtra("bitmap");  Bitmap bitmap=BitmapFactory.decodeByteArray(bis, 0, bis.length);


QQ交流群:6399844


0 0
原创粉丝点击