mapbox / mapbox/mapbox-navigation-android-examples

Android Examples: Bitmap too large

Offen
#40 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

jira-sync-complete
Vorherrschende Sprache
Kotlin
Sterne
65
Forks
56
Ø Merge
1 T. 4 Std.
Gemergte PRs (30 T.)
2

Beschreibung

Samsung Galaxy S7, Android 8.0.0. App crashes when trying to bind the following bitmaps:

mapbox_screenshot_basic_camera.jpg
mapbox_screenshot_fetch_a_route.jpg
mapbox_screenshot_tbt_experience.jpg

E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.mapbox.navigation.examples, PID: 1482
java.lang.RuntimeException: Canvas: trying to draw too large(241459200bytes) bitmap.
    at android.view.DisplayListCanvas.throwIfCannotDraw(DisplayListCanvas.java:229)
    at android.view.RecordingCanvas.drawBitmap(RecordingCanvas.java:97)
    at android.graphics.drawable.BitmapDrawable.draw(BitmapDrawable.java:529)
    at android.widget.ImageView.onDraw(ImageView.java:1367)
    at android.view.View.draw(View.java:20373)
    at android.view.View.updateDisplayListIfDirty(View.java:19318)
    at android.view.View.draw(View.java:20096)
    at android.view.ViewGroup.drawChild(ViewGroup.java:4421)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4207)
    at androidx.constraintlayout.widget.ConstraintLayout.dispatchDraw(ConstraintLayout.java:1975)
    at android.view.View.updateDisplayListIfDirty(View.java:19309)
    at android.view.View.draw(View.java:20096)
    at android.view.ViewGroup.drawChild(ViewGroup.java:4421)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4207)
    at android.view.View.draw(View.java:20376)
    at android.view.View.updateDisplayListIfDirty(View.java:19318)
    at android.view.View.draw(View.java:20096)
    at android.view.ViewGroup.drawChild(ViewGroup.java:4421)
    at androidx.recyclerview.widget.RecyclerView.drawChild(RecyclerView.java:5030)
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4207)
    at android.view.View.draw(View.java:20376)
    at androidx.recyclerview.widget.RecyclerView.draw(RecyclerView.java:4429)
    at android.view.View.updateDisplayListIfDirty(View.java:19318)
    at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4405)
    at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4385)
    at android.view.View.updateDisplayListIfDirty(View.java:19277)
    at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4405)
    at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4385)
    at android.view.View.updateDisplayListIfDirty(View.java:19277)
    at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4405)
    at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4385)
    at android.view.View.updateDisplayListIfDirty(View.java:19277)
    at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4405)
    at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4385)
    at android.view.View.updateDisplayListIfDirty(View.java:19277)
    at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4405)
    at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4385)
    at android.view.View.updateDisplayListIfDirty(View.java:19277)
    at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4405)
    at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4385)
    at android.view.View.updateDisplayListIfDirty(View.java:19277)
    at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:686)
    at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:692)
    at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:800)
    at android.view.ViewRootImpl.draw(ViewRootImpl.java:3496)
    at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:3283)
    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2818)
    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1780)
    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7827)
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:911)
    at android.view.Choreographer.doCallbacks(Choreographer.java:723)
    at android.view.Choreographer.doFrame(Choreographer.java:658)
    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:897)
    at android.os.Handler.handleCallback(Handler.java:789)
    at android.os.Handler.dispatchMessage(Handler.java:98)
    at android.os.Looper.loop(Looper.java:164)
    at android.app.ActivityThread.main(ActivityThread.java:6944)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, die drei genannten Bitmap-Assets zu lokalisieren: mapbox_screenshot_basic_camera.jpg, mapbox_screenshot_fetch_a_route.jpg und mapbox_screenshot_tbt_experience.jpg. Reproduziere anschließend das Beispiel auf der gemeldeten Android-Konfiguration, falls verfügbar. Als erledigt gilt die Aufgabe, wenn die Beispiele diese Bilder binden und zeichnen können, ohne den gemeldeten Absturz durch große Bitmaps.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
android, kotlin
Bereich
mobile
Issue-Typ
Bug
Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.