画像を縮小してout of memory
jpegファイルをBitmapクラスとして読み込んで、ファイルサイズを小さくするために解像度を落としたBitmapのインスタンスを作成して、jpegに圧縮しなおしてbyte arrayに変換。
ここまではうまくいくけど、byte arrayからbase64エンコードをかけるとout of memoryが発生してしまう。
使えるヒープサイズもわかんないし、とりあえず最初に読み込んだjpegに使ってるメモリを解放しようと思ったけど、javaの場合どうやって明示的にメモリを解放するのかを知らない。
つい、free()とかdeleteとか書きたくなるけど。
javaだとGCが動いていて、確かオブジェクトは被参照数が0になった時点でGCに回収されたような記憶があったので、jpegを読み込んだBitmapのインスタンスにnull入れたらout of memoryは発生しなくなった。
まだまだjavaに慣れない。。。
| 固定リンク
この記事へのコメントは終了しました。
コメント