Thanks a lot guys for the information,
I found this article
http://peacemoon.wordpress.com/2009/08/23/android-developing-orientation-aware-android-applications/
I need to save many objects so basically onSavedInstanceState is not of full
use .
So i am going forward with onRetainNonConfigurationInstance().
@Charlie, why is this method not so reliable?
Thanks,
Alok.
On Fri, May 14, 2010 at 6:25 AM, Charlie Collins
<charlie.coll...@gmail.com>wrote:

> http://developer.android.com/intl/de/guide/topics/fundamentals.html#actlife
>
> "Saving activity state
>
> When the system, rather than the user, shuts down an activity to
> conserve memory, the user may expect to return to the activity and
> find it in its previous state.
>
> To capture that state before the activity is killed, you can implement
> an onSaveInstanceState() method for the activity. Android calls this
> method before making the activity vulnerable to being destroyed — that
> is, before onPause() is called. It passes the method a Bundle object
> where you can record the dynamic state of the activity as name-value
> pairs. When the activity is again started, the Bundle is passed both
> to onCreate() and to a method that's called after onStart(),
> onRestoreInstanceState(), so that either or both of them can recreate
> the captured state.
>
> Unlike onPause() and the other methods discussed earlier,
> onSaveInstanceState() and onRestoreInstanceState() are not lifecycle
> methods. They are not always called. For example, Android calls
> onSaveInstanceState() before the activity becomes vulnerable to being
> destroyed by the system, but does not bother calling it when the
> instance is actually being destroyed by a user action (such as
> pressing the BACK key). In that case, the user won't expect to return
> to the activity, so there's no reason to save its state.
>
> Because onSaveInstanceState() is not always called, you should use it
> only to record the transient state of the activity, not to store
> persistent data. Use onPause() for that purpose instead."
>
> http://developer.android.com/intl/de/reference/android/app/Activity.html
>
> "Configuration Changes
> If the configuration of the device (as defined by the
> Resources.Configuration class) changes, then anything displaying a
> user interface will need to update to match that configuration.
> Because Activity is the primary mechanism for interacting with the
> user, it includes special support for handling configuration changes.
>
> Unless you specify otherwise, a configuration change (such as a change
> in screen orientation, language, input devices, etc) will cause your
> current activity to be destroyed, going through the normal activity
> lifecycle process of onPause(), onStop(), and onDestroy() as
> appropriate. If the activity had been in the foreground or visible to
> the user, once onDestroy() is called in that instance then a new
> instance of the activity will be created, with whatever
> savedInstanceState the previous instance had generated from
> onSaveInstanceState(Bundle).
>
> This is done because any application resource, including layout files,
> can change based on any configuration value. Thus the only safe way to
> handle a configuration change is to re-retrieve all resources,
> including layouts, drawables, and strings. Because activities must
> already know how to save their state and re-create themselves from
> that state, this is a convenient way to have an activity restart
> itself with a new configuration.
>
> In some special cases, you may want to bypass restarting of your
> activity based on one or more types of configuration changes. This is
> done with the android:configChanges attribute in its manifest. For any
> types of configuration changes you say that you handle there, you will
> receive a call to your current activity's
> onConfigurationChanged(Configuration) method instead of being
> restarted. If a configuration change involves any that you do not
> handle, however, the activity will still be restarted and
> onConfigurationChanged(Configuration) will not be called."
>
> That should get you going in the right direction. There is also
> onRetainNonConfigurationInstance (Activity method) but it's not what
> you should rely on (can be used to optimize), but the basics are the
> onSaveInstanceState and onRestoreInstanceState methods.
>
>
> On May 13, 4:29 am, Alok Kulkarni <kulsu...@gmail.com> wrote:
> > I am having an application showing ListItems and Dialog boxes in it..
> > I want that when i change the orientation from Portrait to landscape
> mode, i
> > need to maintain the state of the application .. I have seperate XMLs for
> > landscape and portrait mode..
> > What is the best way to achieve this >
> > Thanks ,
> > Alok.
> >
> > --
> > 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<android-developers%2bunsubscr...@googlegroups.com>
> > 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 android-developers@googlegroups.com
> To unsubscribe from this group, send email to
> android-developers+unsubscr...@googlegroups.com<android-developers%2bunsubscr...@googlegroups.com>
> For more options, visit this group at
> http://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 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