0

Android アプリケーションを実行すると、上記のエラーが発生し、デバッグしている電話が強制的に再起動するまで応答しなくなります。エラーが発生する原因となっているコードは、次のクラスにあります。

public class BitmapSerializable implements Serializable 
{

/**
 * 
 */
private static final long serialVersionUID = 6855267020377781806L;

private transient Bitmap image;
private byte[] imageByteArray;

public BitmapSerializable()
{

}

public BitmapSerializable(Bitmap bmp)
{
    setImage(bmp);
}

public Bitmap getImage() {
    if (imageByteArray == null)
    {
        return null;
    }
    image = BitmapFactory.decodeByteArray(imageByteArray, 0, imageByteArray.length);
    return image;
}

public void setImage(Bitmap image) {
    this.image = image;
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    image.compress(Bitmap.CompressFormat.PNG, 100, baos);
    imageByteArray = baos.toByteArray();
}

 }

このオブジェクトをシリアル化し、読み込んでから getImage() メソッドを呼び出すと、エラーがスローされます。誰でも助けることができますか?

4

1 に答える 1

0

とった。問題はシリアライゼーション自体にあるのではなく、do intent.putExtra("bs", BitmapSerializable); を追加しようとしたときにエラーが発生していました。このエラーが発生した他の人にとっては、私のクラスに似たものを分割しようとしたことがおそらく原因です。

于 2013-03-09T03:15:56.430 に答える