Michael- An interesting approach indeed. Sounds a little hacky, though... Especially if the docs vaguely advise against it as you mention. A clever hack, though :)
-Nick On Apr 17, 11:25 pm, Michael Elsdörfer <[email protected]> wrote: > Depending on your specific needs, a service might make sense, but for > simple cases, it's not strictly necessary. You can instead use > Activity.onRetainNonConfigurationInstance(), which allows you to pass > live Java objects to the new Activity instance - i.e., for example an > AsyncTask object. Just make sure you don't create leaks by keeping > references to old instances of your Activity around. > > I've been using a custom ASyncTask child class for a while that allows > me to "connect" to the task from a new activity instance, and have the > proper callbacks be executed even if the tasked finished in-between > activities being available: > > http://github.com/miracle2k/android-autostarts/blob/master/src/com/el... > > Note that while the docs say that onRetainNonConfigurationInstance is > only for "optimization", it's not quite clear what that the official > contract is. Yes, it's possible that your activity needs to restore > itself without onRetainNonConfigurationInstance(). For example, if the > user leaves your application via HOME and then goes into the Settings > and changes the device language, your activity will be stopped and > restarted, presumably without onRetainNonConfigurationInstance() being > called. > > However, it might be ok if in those cases your api request will indeed > need start again fresh, depending on it's duration, and maybe whether > it changes state on the server. But for your run of the mill > orientation change, onRetainNonConfigurationInstance() is apparently > being reliable called, and it has been suggested on this list a number > of times that it is intended to be used for objects that can't be > stored in a bundle, like for example sockets. > > Michael > > -- > 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 > athttp://groups.google.com/group/android-developers?hl=en -- 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

