Android has this particular annoying and weird behavior: Once the heap 
inflates to a certain size, no matter how much of it is actually used, you 
can no longer allocate files that are larger than the remaining memory.
my guess, you're there.

you should make sure your previous activities use as little memory as 
possible and make it a habit of unloading memory which might not 
be necessary once activities are changed.  This is especially true in apps 
that store large bitmaps and even more noticeable if you also have lots of 
small objects (memory fragmentation + large bitmaps = OOM exceptions)


On Thursday, May 8, 2014 5:47:06 PM UTC+3, Daniel Rindt wrote:
>
> Hello,
>
> in the application we open a chooser for selecting photos. I got 
> frequently crashes mostly from sony by doing this which says: 
> OutOfMemoryError which raises by showing the bitmaps. The stacktrace which 
> the
> system creates doesn't mention a class of our code which confuses me a bit.
> My assumption is that our app can open lots of activities and by opening 
> the image choose there is not much space left and the crash happen. So far 
> i read i shouldn't care about do finish(); and activity they
> can remain in the activity backstack. It would be great to get a bit more 
> clued.
> Here is the stacktrace i got:
>
> Package: com.viselabs.aquariummanager
> Version Code: 34
> Version Name: 0.16.34.g3cc9d12
> Android: 4.3
> Manufacturer: samsung
> Model: SPH-L710
> Date: Thu May 08 09:13:04 EDT 2014
>
> java.lang.RuntimeException: Unable to start activity 
> ComponentInfo{android/com.android.internal.app.ChooserActivity}: 
> android.view.InflateException: Binary XML file line #26: Error inflating 
> class <unknown>
>       at 
> android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2305)
>       at 
> android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2359)
>       at android.app.ActivityThread.access$700(ActivityThread.java:165)
>       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1326)
>       at android.os.Handler.dispatchMessage(Handler.java:99)
>       at android.os.Looper.loop(Looper.java:137)
>       at android.app.ActivityThread.main(ActivityThread.java:5455)
>       at java.lang.reflect.Method.invokeNative(Native Method)
>       at java.lang.reflect.Method.invoke(Method.java:525)
>       at 
> com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1187)
>       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
>       at dalvik.system.NativeStart.main(Native Method)
> Caused by: android.view.InflateException: Binary XML file line #26: Error 
> inflating class <unknown>
>       at android.view.LayoutInflater.createView(LayoutInflater.java:626)
>       at 
> com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
>       at android.view.LayoutInflater.onCreateView(LayoutInflater.java:675)
>       at 
> android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:700)
>       at android.view.LayoutInflater.rInflate(LayoutInflater.java:761)
>       at android.view.LayoutInflater.rInflate(LayoutInflater.java:769)
>       at android.view.LayoutInflater.inflate(LayoutInflater.java:498)
>       at android.view.LayoutInflater.inflate(LayoutInflater.java:398)
>       at android.view.LayoutInflater.inflate(LayoutInflater.java:354)
>       at 
> com.android.internal.app.ResolverActivity.onCreate(ResolverActivity.java:210)
>       at 
> com.android.internal.app.ChooserActivity.onCreate(ChooserActivity.java:69)
>       at android.app.Activity.performCreate(Activity.java:5372)
>       at 
> android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1104)
>       at 
> android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2267)
>       ... 11 more
> Caused by: java.lang.reflect.InvocationTargetException
>       at java.lang.reflect.Constructor.constructNative(Native Method)
>       at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
>       at android.view.LayoutInflater.createView(LayoutInflater.java:600)
>       ... 24 more
> Caused by: java.lang.OutOfMemoryError
>       at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
>       at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:596)
>       at 
> android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:444)
>       at 
> android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:832)
>       at android.content.res.Resources.loadDrawable(Resources.java:2988)
>       at android.content.res.Resources.getDrawable(Resources.java:1558)
>       at android.widget.EdgeEffect.<init>(EdgeEffect.java:148)
>       at android.widget.AbsListView.setOverScrollMode(AbsListView.java:1220)
>       at android.view.View.<init>(View.java:3458)
>       at android.view.View.<init>(View.java:3528)
>       at android.view.ViewGroup.<init>(ViewGroup.java:475)
>       at android.widget.AdapterView.<init>(AdapterView.java:236)
>       at android.widget.AbsListView.<init>(AbsListView.java:1105)
>       at android.widget.GridView.<init>(GridView.java:110)
>       at android.widget.GridView.<init>(GridView.java:106)
>       ... 27 more
> It would be nice to get some information about what are you think about.
> Thank you for your attention and support.
> Daniel
>
>

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Android Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to android-developers+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to