次のコードを使用して、URLからビットマップを取得しています。この関数は私のコードで複数回使用されており、3回目または4回目の呼び出しでクラッシュして次のエラーが表示されます。URLが存在し、以前の呼び出しに違いはないと確信しています。ありがとうございました
public static Bitmap getBitmapFromURL(String src) {
try {
Log.e("src",src);
URL url = new URL(src);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoInput(true);
connection.connect();
InputStream input = connection.getInputStream();
Bitmap myBitmap = BitmapFactory.decodeStream(input); //crashes at this line
Log.e("Bitmap","returned");
return myBitmap;
} catch (IOException e) {
e.printStackTrace();
Log.e("Exception",e.getMessage());
return null;
}
}
06-15 14:15:34.365: E/AndroidRuntime(863): FATAL EXCEPTION: main
06-15 14:15:34.365: E/AndroidRuntime(863): java.lang.OutOfMemoryError: bitmap size exceeds VM budget
06-15 14:15:34.365: E/AndroidRuntime(863): at android.graphics.BitmapFactory.nativeDecodeStream(Native Method)
06-15 14:15:34.365: E/AndroidRuntime(863): at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:459)
06-15 14:15:34.365: E/AndroidRuntime(863): at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:515)
06-15 14:15:34.365: E/AndroidRuntime(863): at com.nimbosolutions.projecte1.TabBar_iOSActivity.getBitmapFromURL(TabBar_iOSActivity.java:232)
06-15 14:15:34.365: E/AndroidRuntime(863): at com.nimbosolutions.projecte1.TabBar_iOSActivity.addTab(TabBar_iOSActivity.java:209)