I was hoping someone here might have an idea what causes this sort of
Throughout my application, in seemingly random places and in random
conditions I'm observing this strange UI issue. Images are on occasion
being loaded black (with the correct bounds) or with the incorrect image
source. This effects ImageViews and has effected android:background tags
with references to colour resources.
My application relies on 6 library projects, it runs Native Code via a
Service and Activities in the App use GlSurfaceViews (although, not all
Activities which display the problem contain OpenGL components). The
problem could I suppose be from any of these places or a combination of
them through using large amounts of memory.
You can see this behaviour in the following screen shots:
This is actually a 6 or so pixel wide column separator image which has been
incorrectly drawn into my ImageView (the ImageView seems to have correctly
When going out of the Application and then back in again (repeatedly) it
instead appeared (and remained) like so:
After a Force Clear and a Clear App Data it returned to the correct format:
As you can also see the Magnifying Glass image next to it is displaying
fine in each of these. The problems with these missing/incorrect images and
backgrounds seems to happen randomly, throughout the application and have
yet been unable to find a way of reproducing it. The layouts for these
images are nothing special, I'm not doing anything funny during the
rendering lifecycle (i'm not overriding onDraw or onMeasure or the like).
The source of these images aren't being set dynamically but via the XML
tag. As you can see from the above example, it's not a build issue as it
occurs between app lifecycles not between installs.
It seems to me to be some sort of error with the reference table, could it
perhaps have been nudged by my native code? Or is it an effect of me in
some stages of the application using too much memory?
I've got this question up on StackOverflow here:
you can see the layout files and another example of this happening.
Anyone seen this behaviour before?