0

I have developed an Android App called "iVest". I have run this app in almost every device and it ran okay. But someone having Samsung Galaxy s8 downloaded it and it crushed saying "iVest is stopping now". I am sharing the google play console log here for this purpose.

java.lang.RuntimeException: 
  at android.view.DisplayListCanvas.throwIfCannotDraw (DisplayListCanvas.java:260)
  at android.graphics.Canvas.drawBitmap (Canvas.java:1420)
  at android.graphics.drawable.BitmapDrawable.draw (BitmapDrawable.java:545)
  at android.widget.ImageView.onDraw (ImageView.java:1286)
  at android.view.View.draw (View.java:18394)
  at android.view.View.updateDisplayListIfDirty (View.java:17372)
  at android.view.View.draw (View.java:18156)
  at android.view.ViewGroup.drawChild (ViewGroup.java:3969)
  at android.view.ViewGroup.dispatchDraw (ViewGroup.java:3755)
  at android.support.constraint.ConstraintLayout.dispatchDraw (ConstraintLayout.java:2023)
  at android.view.View.draw (View.java:18397)
  at android.view.View.updateDisplayListIfDirty (View.java:17372)
  at android.view.View.draw (View.java:18156)
  at android.view.ViewGroup.drawChild (ViewGroup.java:3969)
  at android.view.ViewGroup.dispatchDraw (ViewGroup.java:3755)
  at android.view.View.updateDisplayListIfDirty (View.java:17367)
  at android.view.View.draw (View.java:18156)
  at android.view.ViewGroup.drawChild (ViewGroup.java:3969)
  at android.view.ViewGroup.dispatchDraw (ViewGroup.java:3755)
  at android.view.View.updateDisplayListIfDirty (View.java:17367)
  at android.view.View.draw (View.java:18156)
  at android.view.ViewGroup.drawChild (ViewGroup.java:3969)
  at android.view.ViewGroup.dispatchDraw (ViewGroup.java:3755)
  at android.view.View.updateDisplayListIfDirty (View.java:17367)
  at android.view.View.draw (View.java:18156)
  at android.view.ViewGroup.drawChild (ViewGroup.java:3969)
  at android.view.ViewGroup.dispatchDraw (ViewGroup.java:3755)
  at android.view.View.updateDisplayListIfDirty (View.java:17367)
  at android.view.View.draw (View.java:18156)
  at android.view.ViewGroup.drawChild (ViewGroup.java:3969)
  at android.view.ViewGroup.dispatchDraw (ViewGroup.java:3755)
  at android.view.View.draw (View.java:18397)
  at com.android.internal.policy.DecorView.draw (DecorView.java:967)
  at android.view.View.updateDisplayListIfDirty (View.java:17372)
  at android.view.ThreadedRenderer.updateViewTreeDisplayList (ThreadedRenderer.java:722)
  at android.view.ThreadedRenderer.updateRootDisplayList (ThreadedRenderer.java:728)
  at android.view.ThreadedRenderer.draw (ThreadedRenderer.java:836)
  at android.view.ViewRootImpl.draw (ViewRootImpl.java:3181)
  at android.view.ViewRootImpl.performDraw (ViewRootImpl.java:2977)
  at android.view.ViewRootImpl.performTraversals (ViewRootImpl.java:2565)
  at android.view.ViewRootImpl.doTraversal (ViewRootImpl.java:1550)
  at android.view.ViewRootImpl$TraversalRunnable.run (ViewRootImpl.java:7189)
  at android.view.Choreographer$CallbackRecord.run (Choreographer.java:959)
  at android.view.Choreographer.doCallbacks (Choreographer.java:734)
  at android.view.Choreographer.doFrame (Choreographer.java:670)
  at android.view.Choreographer$FrameDisplayEventReceiver.run (Choreographer.java:945)
  at android.os.Handler.handleCallback (Handler.java:751)
  at android.os.Handler.dispatchMessage (Handler.java:95)
  at android.os.Looper.loop (Looper.java:154)
  at android.app.ActivityThread.main (ActivityThread.java:6776)
  at java.lang.reflect.Method.invoke (Native Method)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1520)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1410)

I am also sharing the layout xml of the screen where the app is crushing:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".KnowICLHomePage"
    android:background="@drawable/customborder">

    <android.support.constraint.ConstraintLayout
        android:id="@+id/constraintLayout2"
        android:layout_width="0dp"
        android:layout_height="380dp"
        android:layout_marginStart="8dp"
        android:layout_marginLeft="8dp"
        android:layout_marginTop="12dp"
        android:layout_marginEnd="8dp"
        android:layout_marginRight="8dp"
        android:paddingLeft="30dp"
        android:paddingRight="30dp"
        android:paddingBottom="20dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/imageView5">

        <ImageButton
            android:id="@+id/button_about_icl"
            style="@android:style/Widget.DeviceDefault.ImageButton"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:layout_marginStart="16dp"
            android:layout_marginLeft="16dp"
            android:layout_marginTop="32dp"
            android:background="@null"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            app:srcCompat="@drawable/about_us_button" />

        <ImageButton
            android:id="@+id/button_our_products"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:layout_marginStart="40dp"
            android:layout_marginLeft="40dp"
            android:layout_marginTop="32dp"
            android:background="@null"
            app:layout_constraintStart_toEndOf="@+id/button_about_icl"
            app:layout_constraintTop_toTopOf="parent"
            app:srcCompat="@drawable/our_products_button" />

        <ImageButton
            android:id="@+id/button_fund_performance"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:layout_marginStart="16dp"
            android:layout_marginLeft="16dp"
            android:layout_marginTop="20dp"
            android:background="@null"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/textView_button_about_icl"
            app:srcCompat="@drawable/fund_performance_button" />

        <ImageButton
            android:id="@+id/button_how_to_invest"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:layout_marginStart="40dp"
            android:layout_marginLeft="40dp"
            android:layout_marginTop="20dp"
            android:background="@null"
            app:layout_constraintStart_toEndOf="@+id/button_fund_performance"
            app:layout_constraintTop_toBottomOf="@+id/textView_button_our_products"
            app:srcCompat="@drawable/how_to_invest_button" />

        <TextView
            android:id="@+id/textView_button_about_icl"
            android:layout_width="100dp"
            android:layout_height="wrap_content"
            android:layout_marginStart="16dp"
            android:layout_marginLeft="16dp"
            android:text="@string/knowicl_about_icl"
            android:textAlignment="center"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/button_about_icl" />

        <TextView
            android:id="@+id/textView_button_our_products"
            android:layout_width="100dp"
            android:layout_height="wrap_content"
            android:layout_marginStart="40dp"
            android:layout_marginLeft="40dp"
            android:text="@string/knowicl_our_products"
            android:textAlignment="center"
            app:layout_constraintStart_toEndOf="@+id/textView_button_about_icl"
            app:layout_constraintTop_toBottomOf="@+id/button_our_products" />

        <TextView
            android:id="@+id/textView_button_fund_performance"
            android:layout_width="100dp"
            android:layout_height="wrap_content"
            android:layout_marginStart="16dp"
            android:layout_marginLeft="16dp"
            android:text="@string/knowicl_fund_performance"
            android:textAlignment="center"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/button_fund_performance" />

        <TextView
            android:id="@+id/textView_button_how_to_invest"
            android:layout_width="100dp"
            android:layout_height="wrap_content"
            android:layout_marginStart="40dp"
            android:layout_marginLeft="40dp"
            android:text="@string/knowicl_how_to_invest"
            android:textAlignment="center"
            app:layout_constraintStart_toEndOf="@+id/textView_button_fund_performance"
            app:layout_constraintTop_toBottomOf="@+id/button_how_to_invest" />

    </android.support.constraint.ConstraintLayout>


    <ImageButton
        android:id="@+id/button_call_now_for_details"
        android:layout_width="40dp"
        android:layout_height="45dp"
        android:layout_marginStart="60dp"
        android:layout_marginLeft="60dp"
        android:layout_marginBottom="30dp"
        android:background="@null"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:srcCompat="@drawable/call_now_button" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="32dp"
        android:layout_marginLeft="32dp"
        android:text="@string/knowicl_button_call_now_for_details"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/button_call_now_for_details" />

    <ImageButton
        android:id="@+id/button_visit_us"
        android:layout_width="40dp"
        android:layout_height="45dp"
        android:layout_marginEnd="60dp"
        android:layout_marginRight="60dp"
        android:layout_marginBottom="30dp"
        android:background="@null"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:srcCompat="@drawable/find_us_on_map" />

    <TextView
        android:id="@+id/textView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginEnd="32dp"
        android:layout_marginRight="32dp"
        android:text="@string/knowicl_visit_our_office"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/button_visit_us" />

    <ImageView
        android:id="@+id/imageView5"
        android:layout_width="120dp"
        android:layout_height="71dp"
        android:layout_marginStart="4dp"
        android:layout_marginLeft="4dp"
        android:layout_marginEnd="8dp"
        android:layout_marginRight="8dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.505"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:srcCompat="@drawable/icl_logo" />

</android.support.constraint.ConstraintLayout>

Thank you for your kind co-operation.

Sneh Pandya
  • 8,197
  • 7
  • 35
  • 50
Rashedur Rahman
  • 349
  • 4
  • 19
  • check [here](https://stackoverflow.com/q/51741718/7783718). – Abhay Koradiya Jan 16 '19 at 04:41
  • post code of how you're loading this screen? if you're not loading an image into the imageview, it's just that the drawable is larger than the imageview and needs to be resized to boundaries of imageview - i recommend either resizing the drawable/image or using a library like glide that will take care of it for you – Karan Harsh Wardhan Jan 16 '19 at 05:38
  • Possible duplicate of [Error : RuntimeException at DisplayListCanvas.throwIfCannotDraw](https://stackoverflow.com/questions/44919245/error-runtimeexception-at-displaylistcanvas-throwifcannotdraw) – Martin Zeitler Jan 16 '19 at 05:40

1 Answers1

0

From your Error log its clear .

 at android.view.DisplayListCanvas.throwIfCannotDraw (DisplayListCanvas.java:260)
  at android.graphics.Canvas.drawBitmap (Canvas.java:1420)
  at android.graphics.drawable.BitmapDrawable.draw (BitmapDrawable.java:545)
  at android.widget.ImageView.onDraw (ImageView.java:1286)

You have a image file which may be too high in resolution or size . Its creating problem when render your imageview on the screen. First check all the images you have used in that xml file and you can make that image smaller or make custom drawable for that if possible

Tejas Pandya
  • 3,987
  • 1
  • 26
  • 51