AsyncTask.java has the following code:

private static final InternalHandler sHandler = new InternalHandler();


Clearly it expects this to be initialized on the main thread. What
guarantees that? Isn't is possible that InternalHandler might be created on
a worker thread, if the first time it's referenced is on a worker thread?

I was debugging a problem that suggests this can happen. The sHandler had a
MessageQueue that had its mQuitAllowed and mQuitting set to true. A
different Handler in my application which was guaranteed to be created on
the main thread had a different MessageQueue with its mQuitAllowed and
mQuitting set to false.

-Jon

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to