Issue
I've been trying to create a very simple app, and for that, I'm making use of activity_main.xml only (currently). Whenever I place ImageView, app crashes. Without ImageView, it runs perfectly. Here's my code with ImageView set:
<?xml version="1.0" encoding="utf-8" ?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#000"
android:orientation="vertical"
android:weightSum="32">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="10">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="Rock Paper Scissor"
android:textSize="30dp"
android:textColor="#FFF"
android:gravity="center"
android:layout_marginTop="20dp"
android:id="@+id/title"
android:layout_marginBottom="20dp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="30dp"
android:layout_marginBottom="30dp"
android:id="@+id/iconLayout"
android:layout_weight="10"
>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/rock"
android:layout_gravity="center"
android:adjustViewBounds="true"
android:layout_weight="1"
/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/paper"
android:layout_gravity="center"
android:adjustViewBounds="true"
android:layout_weight="1"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/scissor"
android:layout_gravity="center"
android:adjustViewBounds="true"
android:layout_weight="1"/>
</LinearLayout>
<LinearLayout
android:layout_weight="10"
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:textColor="#FFF"
android:textSize="20sp"
android:layout_margin="20dp"
android:gravity="center"
android:id="@+id/scoreID"
android:text="Your Score: 0"
android:layout_weight="1"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="Computer Score: 0"
android:textColor="#FFF"
android:gravity="center"
android:textSize="20sp"
android:layout_margin="20dp"
android:layout_weight="1"
/>
</LinearLayout>
</LinearLayout>
If I remove the android:src from all 3 and then run, app runs fine. But with it, it crashes. Here's my logcat as well:
5.853 2171-2171/com.codedamn.m.firstapp I/Process: Sending signal. PID: 2171 SIG: 9
05-29 10:23:44.459 3861-3861/com.codedamn.m.firstapp I/art: Forcing collection of SoftReferences for 95MB allocation
05-29 10:23:44.463 3861-3861/com.codedamn.m.firstapp E/art: Throwing OutOfMemoryError "Failed to allocate a 100000012 byte allocation with 16777120 free bytes and 62MB until OOM"
05-29 10:23:44.463 3861-3861/com.codedamn.m.firstapp D/skia: --- allocation failed for scaled bitmap
05-29 10:23:44.464 3861-3861/com.codedamn.m.firstapp D/AndroidRuntime: Shutting down VM
05-29 10:23:44.464 3861-3861/com.codedamn.m.firstapp E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.codedamn.m.firstapp, PID: 3861
java.lang.OutOfMemoryError: Failed to allocate a 100000012 byte allocation with 16777120 free bytes and 62MB until OOM
at dalvik.system.VMRuntime.newNonMovableArray(Native Method)
at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:609)
at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:444)
at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:973)
at android.content.res.Resources.loadDrawableForCookie(Resources.java:2423)
at android.content.res.Resources.loadDrawable(Resources.java:2330)
at android.content.res.TypedArray.getDrawable(TypedArray.java:749)
at android.widget.ImageView.<init>(ImageView.java:146)
at android.widget.ImageView.<init>(ImageView.java:135)
at android.support.v7.widget.AppCompatImageView.<init>(AppCompatImageView.java:57)
at android.support.v7.widget.AppCompatImageView.<init>(AppCompatImageView.java:53)
at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:106)
at android.support.v7.app.AppCompatDelegateImplV7.createView(AppCompatDelegateImplV7.java:980)
at android.support.v7.app.AppCompatDelegateImplV7.onCreateView(AppCompatDelegateImplV7.java:1039)
at android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView(LayoutInflaterCompatHC.java:44)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:725)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:809)
at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:280)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
at com.codedamn.m.firstapp.MainActivity.onCreate(MainActivity.java:12)
at android.app.Activity.performCreate(Activity.java:5933)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
at android.app.ActivityThread.access$800(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
05-29 10:24:44.974 3861-3861/com.codedamn.m.firstapp I/Process: Sending signal. PID: 3861 SIG: 9
05-29 10:27:41.400 5851-5851/com.codedamn.m.firstapp W/art: Verification of void android.support.v4.app.FragmentHostCallback.reportLoaderStart() took 176.439ms
05-29 10:27:41.451 5851-5851/com.codedamn.m.firstapp W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable
05-29 10:27:42.040 5851-5851/com.codedamn.m.firstapp I/art: Forcing collection of SoftReferences for 95MB allocation
05-29 10:27:42.044 5851-5851/com.codedamn.m.firstapp E/art: Throwing OutOfMemoryError "Failed to allocate a 100000012 byte allocation with 16777216 free bytes and 62MB until OOM"
05-29 10:27:42.044 5851-5851/com.codedamn.m.firstapp D/skia: --- allocation failed for scaled bitmap
05-29 10:27:42.045 5851-5851/com.codedamn.m.firstapp D/AndroidRuntime: Shutting down VM
05-29 10:27:42.045 5851-5851/com.codedamn.m.firstapp E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.codedamn.m.firstapp, PID: 5851
java.lang.OutOfMemoryError: Failed to allocate a 100000012 byte allocation with 16777216 free bytes and 62MB until OOM
at dalvik.system.VMRuntime.newNonMovableArray(Native Method)
at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:609)
at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:444)
at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:973)
at android.content.res.Resources.loadDrawableForCookie(Resources.java:2423)
at android.content.res.Resources.loadDrawable(Resources.java:2330)
at android.content.res.TypedArray.getDrawable(TypedArray.java:749)
at android.widget.ImageView.<init>(ImageView.java:146)
at android.widget.ImageView.<init>(ImageView.java:135)
at android.support.v7.widget.AppCompatImageView.<init>(AppCompatImageView.java:57)
at android.support.v7.widget.AppCompatImageView.<init>(AppCompatImageView.java:53)
at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:106)
at android.support.v7.app.AppCompatDelegateImplV7.createView(AppCompatDelegateImplV7.java:980)
at android.support.v7.app.AppCompatDelegateImplV7.onCreateView(AppCompatDelegateImplV7.java:1039)
at android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView(LayoutInflaterCompatHC.java:44)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:725)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:809)
at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:280)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
at com.codedamn.m.firstapp.MainActivity.onCreate(MainActivity.java:12)
at android.app.Activity.performCreate(Activity.java:5933)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
at android.app.ActivityThread.access$800(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
05-29 10:31:26.106 5851-5851/com.codedamn.m.firstapp I/Process: Sending signal. PID: 5851 SIG: 9
Solution
I'm going to guess that the images you are loading are pretty huge, because you are experiencing out of memory errors.
Try it with smaller images and see if that helps. Read the android developer site to deal with these issues.
Answered By - xorgate
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.