2017年1月10日のブックマーク (3件)

  • AndroidでBitmapFactoryを使ってサイズの大きな画像を読み込むサンプル - hoge256ブログ

    Androidで開発をやっていると、何度もOutOfMemoryErrorに出くわすことが多いです。Androidは搭載メモリ自体が少なく、1アプリケーションあたり最高で16M。推奨だと8M程度(実際使ってみるとそれより少ない感じ)とされています。そのため、普段PCで開発するのとは違って、結構メモリの容量を意識してプログラムしないといけなかったりします。 普通にちょっとしたプログラムを組む分にはいいのですが、結構困るのはサイズのでかい画像イメージを扱う場合です。特にデジカメなんかで撮った画像は最近のデジカメの画素数がすごいため、jpgファイルの段階で数メガバイトあったりします。 そうした画像をBitmapFactory.decodeFileメソッドなんかで、一度に何枚も読み込んでしまうと、もともとサイズの大きなjpgがメモリ中展開されて更に大きくなってしまうため、あっという間にOutOfM

    M1spark20Beta
    M1spark20Beta 2017/01/10
    Bitmapへの画像縮小読み込み 参考文献2(画像を縮小する方法はこのWebページのものを採用・整数分の一のサイズに読み込み画像を縮小することが可能である)
  • Android Bitmapをあらかじめ縮小してから読み込む(OutOfMemory対策) - Qiita

    今の端末だと10Mピクセルを越えるカメラを搭載した端末が普通になってきており、そのファイルサイズも数MBに及びます。 AndroidでBitmapFactoryを利用してフォトライブラリーから画像を読み込んだりすると思いますが、そのままその画像を読み込んでしまうと、しばしばOutOfMemoryとなりアプリが強制終了してしまいます。 そこで、実際に画像を読み込む前にある程度縮小してから読み込むことで、メモリが足りなくなることを防ごうというのが今回のネタです。 BitmapFactory.OptionsのinSampleSizeを指定して画像を縮小した状態で読み込む 処理の流れ的にはまず画像のサイズを取得して、サイズが大きかったら縮小指定してから読み込もう、という感じです。 InputStream inputStream = getContentResolver().openInputStr

    Android Bitmapをあらかじめ縮小してから読み込む(OutOfMemory対策) - Qiita
    M1spark20Beta
    M1spark20Beta 2017/01/10
    Bitmapへの画像縮小読み込み 参考文献1(主にメモリ不足の要因について参考にした/読み込み画像が大きすぎるので小さくすればよい)
  • OutOfMemoryError が出た時の解決へのアプローチ

    java.lang.OutOfMemoryError は、Java VM がヒープメモリ不足により、オブジェクトに メモリを割り当てることが出来ず発生するエラーです。 Java VM 起動時にヒープメモリサイズを指定しますが、指定したヒープメモリサイズを使いきって しまったときに発生します。 OutOfMemoryErrorが発生した場合のアプローチとJava VMパラメータチューニングによる安定動作の運用事例についてご紹介 します。 (1)OutOfMemoryError が出た時のアプローチ OutOfMemoryError はメモリの使用量がヒープメモリサイ ズの指定を超えると発生します。 OutOfMemoryError に陥るケースは二つあります。 (A) 不要なオブジェクトが無駄にメモリに残っている場合 (B) ヒープサイズの絶対量が不足している場合 以下にそれぞれの対処を記し

    M1spark20Beta
    M1spark20Beta 2017/01/10
    OutOfMemoryErrorの要因(当然ながらメモリオーバーランですが…)