質問: ImageIO.read(new File(path)); return image; } ``` 調べたところ、ImageIO#read()は受け取った画像データをすべてメモリに展開してしまう、メモリリークするといった問題があるようなのでImageReaderを使った読み込みに変更しようと考えています。 具体的にどのようなコードを書けば良いでしょうか?
回答: 沢山のスレッドから実行したりImageIOにメモリーリークがあるから現象が発生したのではないはずです。読み込もうとしているイメージの大きさの総数がVMのコンフィギュレーションのメモリーサイズを超えたためにOutOfMemoryになっているだけだと思います。 Androidかどうかわかりませんが、下記の回答の中に参考になる情報がある思います。(サムネイル化のくだり) メモリリークを防ぐ工夫(Android)