Uzyskanie wyjątku w BitmapFactory. Nie jestem pewien, o co chodzi. (Mogę zgadnąć problem, ale nie jestem pewien, dlaczego tak się dzieje)OutofMemoryError: rozmiar bitmapy przekracza budżet maszyn wirtualnych (Android)
ERROR/AndroidRuntime(7906): java.lang.OutOfMemoryError: bitmap size exceeds VM budget ERROR/AndroidRuntime(7906): at android.graphics.BitmapFactory.decodeFile(BitmapFactory.java:295)
Mój kod jest dość prosty. Zdefiniowałem układ XML z domyślnym obrazem. Próbuję załadować plik bm na karcie SD (jeśli jest obecny - jest). Jeśli nie, pokazuje domyślny obraz. W każdym razie .. Oto kod:
public class showpicture extends Activity {
public void onCreate(Bundle savedInstanceState) {
/** Remove menu/status bar **/
requestWindowFeature(Window.FEATURE_NO_TITLE);
final Window win = getWindow();
win.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
Bitmap bm;
super.onCreate(savedInstanceState);
setContentView(R.layout.showpicture);
try {
ImageView mImageButton = (ImageView)findViewById(R.id.displayPicture);
bm = Bitmap.createScaledBitmap(BitmapFactory.decodeFile("/sdcard/dcim/Camera/20091018203339743.jpg"),100, 100, true);
parkImageButton.setImageBitmap(bm);
}
catch (IllegalArgumentException ex) {
Log.d("MYAPP",ex.getMessage());
}
catch (IllegalStateException ex) {
To nie na bm=Bitmap.createScaledBitmap
jakieś przemyślenia? Zrobiłem kilka badań na forach i wskazałem na this post Po prostu nie wiem, dlaczego to nie działa. Każda pomoc będzie świetna! Dziękujemy,
Chris.
Jak duży jest oryginalny obraz JPG? Istnieje kilka raportów na temat tego rodzaju błędu w przypadku dwóch 6 plików Mpx: http://groups.google.com/group/android-developers/browse_thread/thread/0a6279680d1bd15e – schnaader