Thanks Dianne, you posted your answer when i was typing mine. It confirms what i thought should work :-)
About not processing any messages between the destruction and creation of activitie during config-change: Does this mean that i never have to check for 'ACTIVE_INSTANCE==null' in an onPostExecute (see my example below)? On Oct 19, 2:18 pm, Dianne Hackborn <[email protected]> wrote: > Well... we guarantee that if your activity is in the foreground during a > configuration change, the main thread will perform the destruction of the > old activity and creation of the new activity without processing any > messages. (Basically it receives an internal message to update the config, > and the implementation of that does the complete series of callback and > bookkeeping for destroying the current activity and creating the new one.) > So if you were to say have a staticb that holds the current activity > instance, which is set in onCreate() (and probable cleared in onDestroy() if > referencing that instance), then no synchronization is needed: when your > async task completes, just get the current activity from the static, and use > that. Of course you also want your async task to be static (if it is an > inner class) so it isn't holding any references to a possibly destroyed > activity. > > On Mon, Oct 19, 2009 at 11:08 AM, Mark Murphy <[email protected]>wrote: > > > > > > > > > szabolcs wrote: > > > Am I correct in assuming that any callbacks of the AsyncTask that are > > > run on the UI thread (e.g. onPostExecute) are 'queued' during a screen > > > rotation? > > > No. > > > > I assumed so, since looking at DDMS, it seems like the rotation does > > > NOT create a new UI thread, in which case any calls to the UI must be > > > stalled while the UI thread is busy completing the rotation, right? > > > No. > > > > It would be great if this was true, since it would save me from having > > > to do a bunch of synchronization work for posting back from AsyncTasks > > > (I am keeping the tasks running during a rotation) - at least so I > > > think.. > > > No there, too. > > > If you wish to modify the UI, your AsyncTask needs access to the current > > activity. This may or may not be the instance of the activity that > > kicked off the AsyncTask. > > > -- > > Mark Murphy (a Commons Guy) > >http://commonsware.com|http://twitter.com/commonsguy > > > _Beginning Android_ from Apress Now Available! > > -- > Dianne Hackborn > Android framework engineer > [email protected] > > Note: please don't send private questions to me, as I don't have time to > provide private support, and so won't reply to such e-mails. All such > questions should be posted on public forums, where I and others can see and > answer them.- Hide quoted text - > > - Show quoted text - --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---

