Failed to allocate a 24 byte allocation with 294656 free bytes and 287KB until OOM, target footprint 268435456, growth limit 268435456; failed due to fragmentation (largest possible contiguous allocation 114556928 bytes)
In the "normal case" of the app I service ( I don't use the bitmap, which is a problem in the commonly-spoken OOM. Instead, it uses the Http Request Body, which can be quite large),
memory leak is not detected when checking memory through Android Studio Profiler.
But for customers, OOM happens like the message above. (Numbers are slightly different)
Before clarifying how to debug my app, I'd like to know what that message is about.
Failed to allocate a 24 byte allocation
It is judged that the attempt to create an object that occupies 24 bytes of memory has failed.
But I didn't quite understand what all the other letters were saying.
Failed to allocate a 24 byte allocation with 294656 free bytes and 287KB until OOM
- Can there be a situation where I can't allocate 24 bytes when I have 287KB of free space?
failed due to fragmentation (largest possible contiguous allocation 114556928 bytes)
- The usable memory area is 256MB, can the allocable memory area be 109MB? (I don't quite understand the meaning of 'continuous')
target footprint 268435456, growth limit 268435456;
- Does this only mean the size of the app heap (the area I can modify with java code)? Or does it include a code heap (area that can grow with the number of apk codes)?