欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android中的Bitmap序列化失败的解决方法

程序员文章站 2022-05-27 10:23:45
之前写了个user类(实现了serializable接口),类变量里有bitmap类型的头像图片,bitmap导致序列化不成功,报 "android.graphics.bi...

之前写了个user类(实现了serializable接口),类变量里有bitmap类型的头像图片,bitmap导致序列化不成功,报 "android.graphics.bitmap"相关错误

解决方法之一:把bitmap对象替换成byte数组来表示间接表示图片,在需要bitmap的时候再讲byte数组转换成bitmap对象。这是因为byte数组和bitmap之间的可以转化,实现也比较方便。

附byte数组与bitmap的相互转换方法:

bitmap转换成byte数组

private byte[] bitmap2bytes(bitmap bitmap) {
  bytearrayoutputstream baos = new bytearrayoutputstream();
  bitmap.compress(compressformat.jpeg, 100, baos);
  return baos.tobytearray();
}

 byte数组转换成bitmap

 private bitmap byte2bitmap(byte[] data) {
    return bitmapfactory.decodebytearray(data, 0, data.length);
  }

总结

以上所述是小编给大家介绍的android中的bitmap序列化失败的解决方法,希望对大家有所帮助