There are two reason for canvas lock; the other is failed to dequeue
GL buffer. THe following is written to the logs when this happens:
W/GraphicBufferMapper(2541): registerBuffer(0x3a2408) failed -14 (Bad
Are you manually locking / unlocking this canvas yourself, in your code? Or
is it happening as part of the system when your app resumes? My reason for
asking is that the second error type you are getting makes me wonder if you
are passing some address that you have been storing, and that stored
information is invalid because it either became corrupt, or was not the sort
of thing you should be storing, or a third option is that it is something
that is valid while the app is in the foreground, but should not be used
once the app has resumed (because, perhaps, things get built anew). You may
be getting away with it for a while as the system tends to reuse the same
address (only a theory, but definitely a feature we should not rely on), but
eventually after some memory shuffling (garbage collection, for example, or
other apps claiming memory) it changes.
Of course, if all this is being done by the system and you have no input
then I'm as baffled as you are!
--
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