>From what I have seen before

57 instances of *"org.bouncycastle.jce.provider.X509CertificateObject"*,
loaded by *"<system class loader>"* occupy *268 096 (15,03%)* bytes. These
instances are referenced from one instance of *
"java.util.HashMap$HashMapEntry[]"*, loaded by *"<system class loader>"

I think these are from Android itself to validate the application and
resources during runtime. I may be mistaken.
If you create a simple app and run memory analyzer you will see these
things.

regarding the endless logcat stream of mem free I am not sure whats
happening.

if you are not getting OOM error then you should be doing a good job.
I have encountered one memory error which relates to handler in a looping
condition. During destroy the the handler has to be freed of messages and
set to null. I found this using MAT.

---
*
On Fri, Jul 2, 2010 at 10:00 AM, Kostya Vasilyev <[email protected]> wrote:

>  Hello,
>
> I ran into what seems to be a memory management issue in my app.
>
> After running for a while, dalvik gc is triggered, but never finishes. I
> get an endless stream of these messages in logcat:
>
> D/dalvikvm(24822): GC freed 22018 objects / 528920 bytes in 49ms
> D/dalvikvm(24822): GC freed 22018 objects / 528920 bytes in 50ms
> D/dalvikvm(24822): GC freed 22018 objects / 528920 bytes in 50ms
> D/dalvikvm(24822): GC freed 22018 objects / 528920 bytes in 49ms
> D/dalvikvm(24822): GC freed 22018 objects / 528920 bytes in 50ms
>
> The application's normal execution obvoiusly stops, and never resumes.
>
> This is the first issue - GC is quite normal, but it never completing is
> not. For some reason, the Java VM tries to free the same objects over and
> over again, but never actually frees them.
>
> The second issue is that I used hprof and Java MAT to analyze what's taking
> up memory space. The report listed three problems:
>
> - 7 742 instances of *"java.lang.String"*, loaded by *"<system class
> loader>"* occupy *473 856 (26,56%)* bytes
>
> This is normal, created by my code. I certainly have work to do, making my
> code more optimized. My code doesn't hold on to these strings, so assuming
> issue #1 can be avoided, they should GC quite nicely.
>
> The other two entries are:
>
> 57 instances of *"org.bouncycastle.jce.provider.X509CertificateObject"*,
> loaded by *"<system class loader>"* occupy *268 096 (15,03%)* bytes. These
> instances are referenced from one instance of *
> "java.util.HashMap$HashMapEntry[]"*, loaded by *"<system class loader>"
>
> *
>
> 2 985 instances of *"java.lang.Class"*, loaded by *"<system class loader>"
> * occupy *659 560 (36,97%)* bytes.
>
> Biggest instances:
>
>    - class com.ibm.icu4jni.util.Resources$DefaultTimeZones @
>    0x40178af0 - 145 952 (8,18%) bytes.
>    - class android.text.Html$HtmlParser @ 0x4006fd18 - 126 592 (7,10%)
>    bytes.
>    - class org.apache.harmony.security.fortress.Services @
>    0x400731b0 - 51 456 (2,88%) bytes.
>    - class android.content.res.Resources @ 0x4004e848 - 34 416 (1,93%)
>    bytes.
>    - class android.text.AutoText @ 0x400f6260 - 28 776 (1,61%) bytes.
>
> My application does not use time zones (just whatever the default one is
> implicit), HTML parsing, or X509 certificates. Why are they combined taking
> almost a megabyte of memory? How can I avoid it?
>
> My code certainly need to be more memory-optimized, but uses only about
> half the amount of memory already allocated inside my app by things I do not
> use.
>
> I would be grateful for any suggestions.
>
> --
> Kostya Vasilev -- WiFi Manager + pretty widget -- 
> http://kmansoft.wordpress.com
>
>  --
> You received this message because you are subscribed to the Google
> Groups "Android Developers" group.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]<android-developers%[email protected]>
> 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 post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to