Ich habe eine Android-App, die auf Samsung S4, S5 und Note3 Geräte abstürzen. Die App hat ein LinearLayout im Vordergrund und rendert 7 Zeilen einer "Kategorie" -Option.Android App beim Starten stürzt ab, Bild Ressourcen im Zusammenhang
Der gemeinsame Fehler ist:
java.lang.OutOfMemoryError:
at dalvik.system.VMRuntime.newNonMovableArray (Native Method)
at android.graphics.BitmapFactory.nativeDecodeAsset (Native Method)
at android.graphics.BitmapFactory.decodeStream (BitmapFactory.java:856)
at android.graphics.BitmapFactory.decodeResourceStream (BitmapFactory.java:675)
at android.graphics.drawable.Drawable.createFromResourceStream (Drawable.java:2228)
at android.content.res.Resources.loadDrawableForCookie (Resources.java:4211)
at android.content.res.Resources.loadDrawable (Resources.java:4085)
at android.content.res.Resources.getDrawable (Resources.java:2005)
at android.content.res.Resources.getDrawable (Resources.java:1987)
at android.content.Context.getDrawable (Context.java:464)
at android.support.v4.c.b.a (Unknown Source)
at android.support.v4.c.a.a (Unknown Source)
at android.support.v7.widget.m.a (Unknown Source)
at android.support.v7.widget.m.a (Unknown Source)
at android.support.v7.b.a.b.b (Unknown Source)
at android.support.v7.view.menu.j.getIcon (Unknown Source)
at android.support.design.internal.NavigationMenuItemView.a (Unknown Source)
at android.support.design.internal.i$b.a (Unknown Source)
at android.support.design.internal.i$b.a (Unknown Source)
at android.support.v7.widget.RecyclerView$a.a (Unknown Source)
at android.support.v7.widget.RecyclerView$a.b (Unknown Source)
at android.support.v7.widget.RecyclerView$o.a (Unknown Source)
at android.support.v7.widget.RecyclerView$o.a (Unknown Source)
at android.support.v7.widget.RecyclerView$o.a (Unknown Source)
at android.support.v7.widget.RecyclerView$o.c (Unknown Source)
at android.support.v7.widget.LinearLayoutManager$c.a (Unknown Source)
at android.support.v7.widget.LinearLayoutManager.a (Unknown Source)
at android.support.v7.widget.LinearLayoutManager.a (Unknown Source)
at android.support.v7.widget.LinearLayoutManager.c (Unknown Source)
at android.support.v7.widget.RecyclerView.N (Unknown Source)
at android.support.v7.widget.RecyclerView.p (Unknown Source)
at android.support.v7.widget.RecyclerView.onLayout (Unknown Source)
at android.view.View.layout (View.java:17938)
at android.view.ViewGroup.layout (ViewGroup.java:5814)
at android.widget.FrameLayout.layoutChildren (FrameLayout.java:344)
at android.widget.FrameLayout.onLayout (FrameLayout.java:281)
at android.view.View.layout (View.java:17938)
at android.view.ViewGroup.layout (ViewGroup.java:5814)
at android.support.v4.widget.DrawerLayout.onLayout (Unknown Source)
at android.view.View.layout (View.java:17938)
at android.view.ViewGroup.layout (ViewGroup.java:5814)
at android.widget.FrameLayout.layoutChildren (FrameLayout.java:344)
at android.widget.FrameLayout.onLayout (FrameLayout.java:281)
at android.view.View.layout (View.java:17938)
at android.view.ViewGroup.layout (ViewGroup.java:5814)
at android.widget.LinearLayout.setChildFrame (LinearLayout.java:1742)
at android.widget.LinearLayout.layoutVertical (LinearLayout.java:1585)
at android.widget.LinearLayout.onLayout (LinearLayout.java:1494)
at android.view.View.layout (View.java:17938)
at android.view.ViewGroup.layout (ViewGroup.java:5814)
at android.widget.FrameLayout.layoutChildren (FrameLayout.java:344)
at android.widget.FrameLayout.onLayout (FrameLayout.java:281)
at android.view.View.layout (View.java:17938)
...
Ich bin ein Listview im MainActivity verwenden, wobei jede Zeile ein Asset Einzelbild ist. Wie folgt aus:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="100dp"
android:layout_margin="0dp"
android:padding="0dp">
<LinearLayout
android:id="@+id/categoryViewContainer"
android:layout_width="match_parent"
android:layout_height="100dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:background="@drawable/category_logo_transport"
android:orientation="vertical"
tools:ignore="UselessParent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="100dp"
android:background="@drawable/gradient_bg"
android:gravity="bottom"
android:orientation="vertical"
android:paddingBottom="10dp"
android:paddingLeft="10dp"
tools:ignore="RtlHardcoded,RtlSymmetry">
<TextView
android:id="@+id/categoryTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:shadowColor="@color/Black"
android:shadowDx="-5"
android:shadowDy="-1"
android:shadowRadius="10"
android:text="@string/categorytitle"
android:textColor="@color/White"
android:textSize="28sp" />
<TextView
android:id="@+id/categoryDesc"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLines="2"
android:text="@string/categorydesc"
android:textColor="@color/windowBackground"
android:textSize="11sp"
tools:ignore="SmallSp" />
</LinearLayout>
</LinearLayout>
</RelativeLayout>
nehme ich an, dass es könnte ein Problem mit der Größe des Speichers durch so viele Bilder verwendet werden, aber ich habe jedes Bild 35kB komprimiert.
Dank !, das verbessert meine app –