メモリが許す限りの大きなサイズで画像を開く
メモリエラーはCatchで回避しています。
でも他のプロセスはメモリ不足で落ちるでしょう。
public static Bitmap sampleSizeOpenBitmap(String path, int startSize, Options bitmapOption) { int inSampleSize=startSize; Bitmap bitmap=null; for(int i=0;i<10;i++){ try{ bitmapOption.inSampleSize=inSampleSize; bitmap=BitmapFactory.decodeFile(path,bitmapOption); lastSampleSize=inSampleSize; }catch(Error e){ Log.i("imageutils","faild load:"+inSampleSize+" "+path); } if(bitmap!=null || bitmapOption.mCancel){ break; }else{ //inSampleSize*=2; inSampleSize+=1; } } return bitmap; }