Używam Ubuntu 16.04. I na Android Studio kiedy próbuję uruchomić mojej aplikacji w emulatorze pojawia się następujący błąd:Studio Android Canvas: rysowanie zbyt dużej bitmapy
FATAL EXCEPTION: main Process: project name here, PID: 2528 java.lang.RuntimeException: Canvas: trying to draw too large(216090000bytes) bitmap. at android.view.DisplayListCanvas.throwIfCannotDraw(DisplayListCanvas.java:260) at android.graphics.Canvas.drawBitmap(Canvas.java:1415) at android.graphics.drawable.BitmapDrawable.draw(BitmapDrawable.java:528) at android.widget.ImageView.onDraw(ImageView.java:1316) at android.view.View.draw(View.java:17185) at android.view.View.updateDisplayListIfDirty(View.java:16167) at android.view.View.draw(View.java:16951) at android.view.ViewGroup.drawChild(ViewGroup.java:3727) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3513) at android.view.View.updateDisplayListIfDirty(View.java:16162) at android.view.View.draw(View.java:16951) at android.view.ViewGroup.drawChild(ViewGroup.java:3727) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3513) at
etc...
miałem biec przez kilka obręcze, aby dostać mój emulator działa jednak potrzebne, aby stworzyć sym-link tak Mogę uruchomić emulator na AMD. Nie jestem pewien, czy to jest część problemu. I dla mojego życia nie potrafię zrozumieć, dlaczego nadal to robi. W mojej grupie są inni, którzy naśladują projekt na tym samym emulowanym telefonie i SDK.
ROZWIĄZANIE
Okazuje się, że problem był głównym obraz, który użyliśmy na naszej aplikacji w tym czasie. Rzeczywisty rozmiar obrazu był zbyt duży, więc skompresowaliśmy go. Potem działało jak urok, bez utraty jakości, a aplikacja działała dobrze na emulatorze.
Czy próbowałeś odczytać bitmapę w mniejszym rozmiarze za pomocą 'BitmapOption.inSampleSize'? –
wypróbuj swoją bitmapę za pomocą tego https://developer.android.com/training/displaying-bitmaps/load-bitmap.html –
** W moim przypadku przeniesienie bitmapy powitania (wysokiej rozdzielczości) z losowania do losowania-xxhdpi rozwiązanie. ** Miałem ten sam problem. Nie podejrzewałem, że mój ekran powitalny jest problemem, ponieważ jest wyświetlany podczas uruchamiania aplikacji, ale okazało się, że problemem jest ekran powitalny. Ekran powitalny w moim przypadku ma rozdzielczość xxhdpi i został błędnie umieszczony w folderze do rysowania, zamiast drawable-xxhdpi. To spowodowało, że Android założył, że ekran powitalny miał rozdzielczość mdpi i skalował obraz do 3 * 3 razy jego wymaganego rozmiaru i próbował stworzyć bitmapę. –