0

私はそれを自分の携帯電話で正常に動作させています。しかし、実際のクラッシュデータを確認すると、Out Of Memory Errorが表示されます。イメージのサイズを変更するときにAndroidがjava.lang.OutOfMemoryErrorを取得する

java.lang.OutOfMemoryErrorを

私は写真からイメージをロードしようとしていると、画像を小さくしようとしています。

は、ここに私のコード

だrequiredSizeが直接あなたのUIがラグレンダリングすることImageViewの中で、高解像度の画像をロード1000年

public static Bitmap getImage(Context c, Uri uri, final int requiredSize) 
     throws FileNotFoundException { 
    BitmapFactory.Options o = new BitmapFactory.Options(); 
    o.inJustDecodeBounds = true; 
    BitmapFactory.decodeStream(c.getContentResolver().openInputStream(uri), null, o); 

    int width_tmp = o.outWidth 
      , height_tmp = o.outHeight; 
    int scale = 1; 

    while(true) { 
     if(width_tmp/2 < requiredSize || height_tmp/2 < requiredSize) 
      break; 
     width_tmp /= 2; 
     height_tmp /= 2; 
     scale *= 2; 
    } 

    BitmapFactory.Options o2 = new BitmapFactory.Options(); 
    o2.inSampleSize = scale; 
    return BitmapFactory.decodeStream(c.getContentResolver().openInputStream(uri), null, o2); //This is the line that's getting the error 
} 

答えて

0

です。これを避けるために、あらゆる種類のリサイズを実行するには、PicassoまたはGlide画像読み込みライブラリを使用して、画像読み込みのパフォーマンスを向上させることをお勧めします。

関連する問題