My app is building a relatively large structure ("large" being a term
that is meaningless without context), and I am getting an
OutOfMemoryError. Problem is, I'm watching the memory using every
metric I can think of, and I don't see how the error was triggered.
It's obviously trying to allocate a 65kB HashSet in a rehash
operation:
06-06 17:59:11.234: ERROR/dalvikvm-heap(1884): Out of memory on a
65552-byte allocation.
Which makes sense; I traced it to the HashSet operation it is
performing. But this is what the memory looks at:
ActivityManager.Memory Info: availMem: 26300416B, 26300KB, 26MB
ActivityManager.Memory Info: threshold/lowMemory: 16777216 false
Runtime.freeMemory: 1828856B, 1829KB, 2MB
Runtime.totalMemory: 15605728B, 15606KB, 16MB
Debug memory allocated/native/default: 4452208 1032336 5484544
I don't get it. Why won't it make a measly 65kB heap? How can I
detect memory problems given these utilities if they always return
extremely large values right before and after an OutOfMemoryError?
Are there yet additional memory utilities I should be using?
Thank you for any help.
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---