@Jason: thanks again for your inputs.

No we are not passing any reference. This exception is seen as part of
the ViewRoot.performTraversal() calls which is part of the standard
code flow. Essentially, this happens whenever a new window is created
for an activity and is to be registered with the WindowServiceManager.

If we keep the application up for long duration of time, this issue is
seen more frequently.


On May 6, 6:11 am, "Jason Teagle" <[email protected]> wrote:
> >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