イメージをbase64エンコード形式で受け付けるサーバーにイメージをアップロードします。このコードを使用してビットマップをエンコードしますが、イメージの半分だけをエンコードし、サーバーはイメージ部分の半分しか受信しません。bitmapをbase64に変換するときのイメージを取得する
これは私のコードです。
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
photo.compress(Bitmap.CompressFormat.PNG, 10, byteArrayOutputStream);
byte[] byteArray = byteArrayOutputStream .toByteArray();
String encoded = Base64.encodeToString(byteArray, Base64.DEFAULT);
// Send to server(encoded)
ギャラリーから画像をエンコードしようとすると、エラーがポップアップしてエラーが発生し、アプリケーションがクラッシュします。
java.lang.OutOfMemoryErrorを:私は、任意の助けをフル画像をエンコードしたいOOM
まで13777320の空きバイトと13メガバイトと15521174バイトの割り当てを割り当てることができませんでしたか?
ストリームとして送信します。バイト配列に格納するのではなく、あなたの記憶が不足しているため。 – Doomsknight
googleで検索 'OutOfMemoryError' –
@KZoNE私の答えを試してください –