Invalid address when using images on memory constrained Android device

I’m having a weird issue on an old Android device that I’m trying to support (Nexus 5).

I get a SIGSEGV (signal SIGSEGV: invalid address (fault address: 0x14)) when accessing an image that I loading with:

ImageFileFormat::loadFrom(BinaryData::OctaveUpIcon3x_png, BinaryData::OctaveUpIcon3x_pngSize);

The file is 630bytes. Overall I’m using 22kb worth of images and all of them is embedded as binary data.

I’ve attached a screenshot detailing the content of the image object, it looks invalid indeed.

Everything works perfectly on modern Android devices, but I assume on the older one memory get’s evicted from time to time. Is it possible an image loaded this way would be just a placeholder without the actual image data in memory, so when I try to render the image there’s nothing there?

Please kindly point me to resources on handling and loading images, or if you have some tips on solving the issue, let me know. Thank you.