2016-11-28 2 views
7

Я запускаю Ubuntu 16.04. И на Android Studio, когда я пытаюсь запустить мое приложение в эмуляторе я получаю следующее сообщение об ошибке:Android Studio Canvas: слишком большой растровый рисунок

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...

мне пришлось бежать через несколько обручей, чтобы получить мой эмулятор работает, однако, необходимо, чтобы создать SYM-ссылку так Я могу запустить эмулятор на AMD. Не уверен, что это часть проблемы. И для жизни меня я не могу понять, почему она продолжает это делать. В моей группе есть и другие, которые хорошо подражают проекту на одном и том же эмулированном телефоне и SDK.

РЕШЕНИЕ

Оказывается, проблема была основным образом, который мы использовали в нашем приложении в то время. Фактический размер изображения был слишком большим, поэтому мы сжимали его. Затем он работал как шарм, без потери качества, и приложение отлично работало на эмуляторе.

+0

Вы пытались прочитать растровое изображение меньшего размера с помощью 'BitmapOption.inSampleSize'? –

+0

пример вашего растрового изображения, используя этот https://developer.android.com/training/displaying-bitmaps/load-bitmap.html –

+1

** Я, в моем случае, перемещая (hi-res) растровое изображение всплеска от drawable to drawable-xxhdpi, было решение. ** У меня была та же проблема. Я не подозревал, что мой экран заставки является проблемой, поскольку он отображается, когда приложение запущено, но оказалось, что заставкой является проблема. Заставка в моем случае имеет разрешение xxhdpi, и это было ошибочно помещено в выпадающую папку вместо drawable-xxhdpi. Это заставило Android предположить, что экран заставки имел разрешение mdpi и масштабировал изображение до 3 * 3 раза необходимого размера и пытается создать растровое изображение. –

ответ

39

Переместить изображение в (Hi-Res) вытяжке к вытяжке-xxhdpi. Но в разработке приложений вам не нужно использовать для большого изображения увеличение своего размера файла APK.

+2

Спасибо! Это работает. – user2137020

+1

Это должен быть принятый ответ –

+2

Спасибо, что также работал, когда мое изображение было всего 500 кб, но разрешение было слишком высоким. – ashishdhiman2007

1

Оказывается, проблема была основным изображением, которое мы использовали в нашем приложении в то время. Фактический размер изображения был слишком большим, поэтому мы сжимали его. Затем он работал как шарм, без потери качества, и приложение отлично работало на эмуляторе.

3

I Мое дело, перемещающее растровое изображение (hi-res) всплеска от drawable to drawable-xxhdpi, было решением.

У меня была та же проблема. Я не подозревал, что мой экран заставки является проблемой, поскольку он отображается, когда приложение запущено, но оказалось, что заставкой является проблема.

Заставка в моем случае имеет разрешение xxhdpi, и она была ошибочно помещена в выпадающую папку вместо drawable-xxhdpi. Это заставило Android предположить, что экран заставки имел разрешение mdpi и масштабировал изображение до 3 * 3 раза необходимого размера и пытается создать растровое изображение.

Смежные вопросы