Somanshu Srivastava
Somanshu Srivastava

Reputation: 171

Getting this exception which forces the android app to crash on start

11-23 10:38:04.430 2095-2095/? I/art: Not late-enabling -Xcheck:jni (already on)
11-23 10:38:04.430 2095-2095/? I/art: Late-enabling JIT
11-23 10:38:04.433 2095-2095/? I/art: JIT created with code_cache_capacity=2MB compile_threshold=1000
11-23 10:38:04.830 2095-2095/com.example.somanshusrivastava.carpiko W/System: ClassLoader referenced unknown path: /data/app/com.example.somanshusrivastava.carpiko-2/lib/x86
11-23 10:38:05.697 2095-2106/com.example.somanshusrivastava.carpiko I/art: Background partial concurrent mark sweep GC freed 96(3KB) AllocSpace objects, 0(0B) LOS objects, 7% free, 50MB/54MB, paused 2.581ms total 140.616ms
11-23 10:38:05.812 2095-2095/com.example.somanshusrivastava.carpiko I/art: Starting a blocking GC Alloc
11-23 10:38:05.812 2095-2095/com.example.somanshusrivastava.carpiko I/art: Starting a blocking GC Alloc
11-23 10:38:05.827 2095-2095/com.example.somanshusrivastava.carpiko I/art: Alloc sticky concurrent mark sweep GC freed 79(11KB) AllocSpace objects, 0(0B) LOS objects, 7% free, 50MB/54MB, paused 5.901ms total 13.614ms
11-23 10:38:05.836 2095-2095/com.example.somanshusrivastava.carpiko I/art: Starting a blocking GC Alloc
11-23 10:38:05.850 2095-2095/com.example.somanshusrivastava.carpiko I/art: Alloc partial concurrent mark sweep GC freed 23(1008B) AllocSpace objects, 0(0B) LOS objects, 7% free, 50MB/54MB, paused 2.153ms total 10.247ms
11-23 10:38:05.853 2095-2095/com.example.somanshusrivastava.carpiko I/art: Starting a blocking GC Alloc
11-23 10:38:05.867 2095-2095/com.example.somanshusrivastava.carpiko I/art: Alloc concurrent mark sweep GC freed 15(12KB) AllocSpace objects, 0(0B) LOS objects, 7% free, 50MB/54MB, paused 1.431ms total 13.789ms
11-23 10:38:05.868 2095-2095/com.example.somanshusrivastava.carpiko I/art: Forcing collection of SoftReferences for 49MB allocation
11-23 10:38:05.869 2095-2095/com.example.somanshusrivastava.carpiko I/art: Starting a blocking GC Alloc
11-23 10:38:05.881 2095-2095/com.example.somanshusrivastava.carpiko I/art: Alloc concurrent mark sweep GC freed 11(344B) AllocSpace objects, 0(0B) LOS objects, 7% free, 50MB/54MB, paused 1.407ms total 11.758ms
11-23 10:38:05.882 2095-2095/com.example.somanshusrivastava.carpiko W/art: Throwing OutOfMemoryError "Failed to allocate a 51750048 byte allocation with 4194304 free bytes and 13MB until OOM"
11-23 10:38:05.882 2095-2095/com.example.somanshusrivastava.carpiko I/art: Starting a blocking GC Alloc
11-23 10:38:05.882 2095-2095/com.example.somanshusrivastava.carpiko I/art: Starting a blocking GC Alloc
11-23 10:38:05.892 2095-2095/com.example.somanshusrivastava.carpiko I/art: Alloc sticky concurrent mark sweep GC freed 3(608B) AllocSpace objects, 0(0B) LOS objects, 7% free, 50MB/54MB, paused 1.389ms total 8.964ms
11-23 10:38:05.894 2095-2095/com.example.somanshusrivastava.carpiko I/art: Starting a blocking GC Alloc
11-23 10:38:05.903 2095-2095/com.example.somanshusrivastava.carpiko I/art: Alloc partial concurrent mark sweep GC freed 6(192B) AllocSpace objects, 0(0B) LOS objects, 7% free, 50MB/54MB, paused 1.387ms total 8.867ms
11-23 10:38:05.904 2095-2095/com.example.somanshusrivastava.carpiko I/art: Starting a blocking GC Alloc
11-23 10:38:05.916 2095-2095/com.example.somanshusrivastava.carpiko I/art: Alloc concurrent mark sweep GC freed 3(96B) AllocSpace objects, 0(0B) LOS objects, 7% free, 50MB/54MB, paused 1.416ms total 10.922ms
11-23 10:38:05.917 2095-2095/com.example.somanshusrivastava.carpiko I/art: Forcing collection of SoftReferences for 49MB allocation
11-23 10:38:05.917 2095-2095/com.example.somanshusrivastava.carpiko I/art: Starting a blocking GC Alloc
11-23 10:38:05.928 2095-2095/com.example.somanshusrivastava.carpiko I/art: Alloc concurrent mark sweep GC freed 3(96B) AllocSpace objects, 0(0B) LOS objects, 7% free, 50MB/54MB, paused 1.350ms total 10.018ms
11-23 10:38:05.929 2095-2095/com.example.somanshusrivastava.carpiko W/art: Throwing OutOfMemoryError "Failed to allocate a 51750048 byte allocation with 4194304 free bytes and 13MB until OOM"
11-23 10:38:05.929 2095-2095/com.example.somanshusrivastava.carpiko D/skia: --- allocation failed for scaled bitmap
11-23 10:38:05.930 2095-2095/com.example.somanshusrivastava.carpiko D/AndroidRuntime: Shutting down VM
11-23 10:38:05.930 2095-2095/com.example.somanshusrivastava.carpiko E/AndroidRuntime: FATAL EXCEPTION: main
                                                                                      Process: com.example.somanshusrivastava.carpiko, PID: 2095
                                                                                      java.lang.OutOfMemoryError: Failed to allocate a 51750048 byte allocation with 4194304 free bytes and 13MB 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:1080)
                                                                                          at android.content.res.Resources.loadDrawableForCookie(Resources.java:2635)
                                                                                          at android.content.res.Resources.loadDrawable(Resources.java:2540)
                                                                                          at android.content.res.TypedArray.getDrawable(TypedArray.java:870)
                                                                                          at android.widget.ImageView.(ImageView.java:152)
                                                                                          at android.widget.ImageView.(ImageView.java:140)
                                                                                          at android.support.v7.widget.AppCompatImageView.(AppCompatImageView.java:58)
                                                                                          at android.support.v7.widget.AppCompatImageView.(AppCompatImageView.java:54)
                                                                                          at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:95)
                                                                                          at android.support.v7.app.AppCompatDelegateImplV7.createView(AppCompatDelegateImplV7.java:938)
                                                                                          at android.support.v7.app.AppCompatDelegateImplV7.onCreateView(AppCompatDelegateImplV7.java:992)
                                                                                          at android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView(LayoutInflaterCompatHC.java:44)
                                                                                          at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:746)
                                                                                          at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
                                                                                          at android.view.LayoutInflater.rInflate(LayoutInflater.java:835)
                                                                                          at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)
                                                                                          at android.view.LayoutInflater.rInflate(LayoutInflater.java:838)
                                                                                          at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)
                                                                                          at android.view.LayoutInflater.parseInclude(LayoutInflater.java:971)
                                                                                          at android.view.LayoutInflater.rInflate(LayoutInflater.java:831)
                                                                                          at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)
                                                                                          at android.view.LayoutInflater.parseInclude(LayoutInflater.java:971)
                                                                                          at android.view.LayoutInflater.rInflate(LayoutInflater.java:831)
                                                                                          at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)
                                                                                          at android.view.LayoutInflater.inflate(LayoutInflater.java:515)
                                                                                          at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
                                                                                          at android.view.LayoutInflater.inflate(LayoutInflater.java:374)
                                                                                          at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:256)
                                                                                          at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:109)
                                                                                          at com.example.somanshusrivastava.carpiko.MainActivity.onCreate(MainActivity.java:24)
                                                                                          at android.app.Activity.performCreate(Activity.java:6237)
                                                                                          at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
                                                                                          at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)
                                                                                          at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
                                                                                          at android.app.ActivityThread.-wrap11(ActivityThread.java)
                                                                                          at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
                                                                                          at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                                          at android.os.Looper.loop(Looper.java:148)
                                                                                          at android.app.ActivityThread.main(ActivityThread.java:5417)
                                                                                          at java.lang.reflect.Method.invoke(Native Method)
                                                                                          at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
                                                                                          at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
11-23 10:38:07.560 2095-2102/com.example.somanshusrivastava.carpiko W/art: Suspending all threads took: 13.233ms
11-23 10:38:09.537 2095-2102/com.example.somanshusrivastava.carpiko W/art: Suspending all threads took: 9.664ms
11-23 10:38:11.140 2095-2095/? I/Process: Sending signal. PID: 2095 SIG: 9

Whenever I try to run the AVD, my app unexpectedly closes and this is the error I get. This is the logcat that is generated. It is showing a FatalException and a MemoryException. Is it an AVD error or code error? Please help.

Upvotes: 0

Views: 12675

Answers (5)

SlowLearnah
SlowLearnah

Reputation: 80

if you are using RXJAVA and are only observing the "Single" type of observable than this is prone to happen where you are emitting large number of images or data set of any kind:

try using toFlowable before .subscribe

https://medium.com/@gabrieldemattosleon/fundamentals-of-rxjava-with-kotlin-for-absolute-beginners-3d811350b701

Upvotes: 1

José Alves
José Alves

Reputation: 21

android:largeHeap="true"

You shouldn't use this, this is not a fix for the problem, this is a temporary problem fix. What this do is increase the memory of the emulator/phone, it will work but eventually it will crash again because you did not fix the memory problem

Upvotes: 2

Felhi Abdelhafidh
Felhi Abdelhafidh

Reputation: 478

add this ligne to your manifest file:

 android:largeHeap="true"

Upvotes: 1

curiousMind
curiousMind

Reputation: 2812

You need to understand the concept of Bitmap and memory

Let’s say you want to display an image on your screen that you just took with your camera. The total memory needed for this is calculated with the following formula: memory_needed_in_bytes = 4 * image_width * image_height;

Why 4? Well, the most common / recommended bitmap configuration is ARGB_8888. That means that for each pixel we draw, we need to keep 8 bits (1 byte) for the alpha, the red, the greed and the blue channel in memory, in order to properly display it. There are alternatives, like the RGB_565 configuration that requires half the memory than ARGB_8888, but loses the transparency and the color precision (while maybe adding a green tint).

Let’s assume you have a brand new device with full HD screen and 12 MP camera. The picture you just took is 4000x3000 pixels large and the total memory needed to display it is: 4 bytes * 4000 * 3000 = 48 MB

48 megabytes of your RAM just for a single image!? That’s a lot!

Now let’s take the screen resolution into consideration. You are trying to show a 4000x3000 image on a screen that has 1920x1080 pixels, in worst case scenario (displaying the image full screen) you shouldn’t allocate more than 4 * 1920 * 1080 = 8.3 MB of memory.

Always follow the Android programming tips for displaying bitmaps efficiently:

Measure the view you’re showing your images in. Scale / crop the large image accordingly. Show only what can be displayed.

Upvotes: 8

Sweeper
Sweeper

Reputation: 271625

The exception thrown is known as OutOfMemoryError. The error occurs when (obviously) you run out of memory! Here is the documentation for it:

Thrown when a request for memory is made that can not be satisfied using the available platform resources. Such a request may be made by both the running application or by an internal function of the VM.

More information here:

http://developer.android.com/reference/java/lang/OutOfMemoryError.html

So, you should allocate more memory to your emulator. But I think the main reason is your app uses too much memory. Did you use a super big image?

Upvotes: 2

Related Questions