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

Reply via email to