MahmoudMabrok / QuranyApp

Open Source HolyQuran app that provide Read, Listen, Tafseer, Test all of them and app is very small size.
Apache License 2.0
205 stars 52 forks source link

The app crashed when I opened it from the first time after installing it. #47

Open sagorahmed opened 5 years ago

sagorahmed commented 5 years ago

Expected behavior

I expected that after installing the app from the Play Store, I could open the app for the first time without getting any problem.

Actual behavior

When I opened the app after installing it from the Play Store, then the app crashed for multiple times. This issue is only occurring for the first time after installation.

How to reproduce

Here is every possible detail to reproduce the bug.

  1. Install the app from the Play Store.
  2. After the installation process complete, try to open the app from play store.
  3. At last, notice the multiple crashes.

Recording Of The Bug

https://www.youtube.com/watch?v=Qxb42UqZgMg

LogCat

07-02 00:03:22.416 11908 11908 E AndroidRuntime: FATAL EXCEPTION: main

07-02 00:03:22.416 11908 11908 E AndroidRuntime: Process: education.mahmoud.quranyapp, PID: 11908

07-02 00:03:22.416 11908 11908 E AndroidRuntime: java.lang.OutOfMemoryError: Failed to allocate a 88646412 byte allocation with 16777216 free bytes and 37MB until OOM

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at dalvik.system.VMRuntime.newNonMovableArray(Native Method)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:856)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:675)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:2230)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at android.content.res.Resources.loadDrawableForCookie(Resources.java:4284)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at android.content.res.Resources.loadDrawable(Resources.java:4158)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at android.content.res.Resources.getDrawable(Resources.java:2043)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at android.content.res.Resources.getDrawable(Resources.java:2025)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at android.content.Context.getDrawable(Context.java:464)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at androidx.core.a.a.a(Unknown Source)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at androidx.appcompat.widget.k.a(Unknown Source)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at androidx.appcompat.widget.k.a(Unknown Source)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at androidx.appcompat.a.a.a.b(Unknown Source)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at androidx.appcompat.widget.o.a(Unknown Source)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at androidx.appcompat.widget.p.setImageResource(Unknown Source)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at com.github.paolorotolo.appintro.AppIntroBaseFragment.onCreateView(Unknown Source)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at androidx.e.a.d.performCreateView(Unknown Source)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at androidx.e.a.j.a(Unknown Source)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at androidx.e.a.j.b(Unknown Source)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at androidx.e.a.j.a(Unknown Source)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at androidx.e.a.a.e(Unknown Source)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at androidx.e.a.j.b(Unknown Source)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at androidx.e.a.j.a(Unknown Source)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at androidx.e.a.j.a(Unknown Source)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at androidx.e.a.a.d(Unknown Source)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at androidx.e.a.m.finishUpdate(Unknown Source)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at androidx.viewpager.widget.ViewPager.populate(Unknown Source)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at androidx.viewpager.widget.ViewPager.populate(Unknown Source)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at androidx.viewpager.widget.ViewPager.onMeasure(Unknown Source)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at android.view.View.measure(View.java:20214)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:716)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:462)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at android.view.View.measure(View.java:20214)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6333)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at androidx.appcompat.widget.ContentFrameLayout.onMeasure(Unknown Source)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at android.view.View.measure(View.java:20214)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6333)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1464)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at android.widget.LinearLayout.measureVertical(LinearLayout.java:747)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at android.widget.LinearLayout.onMeasure(LinearLayout.java:629)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at android.view.View.measure(View.java:20214)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6333)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at android.view.View.measure(View.java:20214)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6333)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1464)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at android.widget.LinearLayout.measureVertical(LinearLayout.java:747)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at android.widget.LinearLayout.onMeasure(LinearLayout.java:629)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at android.view.View.measure(View.java:20214)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6333)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at com.android.internal.policy.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:3137)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at android.view.View.measure(View.java:20214)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2687)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1640)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1932)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1528)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7524)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:911)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at android.view.Choreographer.doCallbacks(Choreographer.java:686)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at android.view.Choreographer.doFrame(Choreographer.java:622)

07-02 00:03:22.416 11908 11908 E AndroidRuntime:    at
MahmoudMabrok commented 5 years ago

Thanks, I will workto solve it.

sagorahmed commented 5 years ago

Thank you so much for your feedback.