Thanks guys for the suggestions .. I will implement your suggested solutions.. Uptil now i am using the logic what Coco has suggested.. Will try out the other possibilioties .. Thanks, Alok.
On Mon, Jan 4, 2010 at 4:26 PM, swapnil kamble <[email protected]>wrote: > Hi Alok, > if your both activities are from part of a single application > then why don't you simply create a common non-activity class with members as > static and access them from wherever you want. > > > On Sun, Jan 3, 2010 at 12:17 AM, Coco <[email protected]> wrote: > >> His code as given would crash if initialized to null on activity >> change. I think what you mean is to reinitialize the containers which >> is what I would suggest trying. Something like this: >> >> public class MyActivity extends Activity { >> public static HashMap<String, String> hMap; >> >> /** Called when the activity is first created. */ >> @Override >> public void onCreate(Bundle savedInstanceState) { >> super.onCreate(savedInstanceState); >> setContentView(R.layout.main); >> hMap = new HashMap<String, String>(); // Recreate container >> each time. >> ... >> } >> >> Alternatively he can just call hMap.clear() in onCreate() which will >> have much of the same effect. Which approach is better depends on >> exactly what he's trying to do. >> >> Another thing to consider is whether these members really want to be >> static in the first place. >> >> -Melinda >> >> On Jan 2, 8:50 am, Yousuf Faheem <[email protected]> wrote: >> > Hi, >> > >> > Try initiallizing them to null before the change of activity takes place >> or >> > at the start of home activity. Since your application is not >> closed(scope of >> > the static objects), the static objects are there in memory allocated to >> > that process and hence retain the value that you give. >> > >> > Thanks & Regards, >> > Yousuf Syed >> > >> > On Sat, Jan 2, 2010 at 2:27 AM, Alok Kulkarni <[email protected]> >> wrote: >> > > Hi guys, I am facing a problem in my application. >> > > I have a few static arrays and Hashmaps in my app which i fill in when >> my >> > > Activity starts.Then this activity later launches another Activity. >> Now >> > > user presses Home button of Back button and again restarts the app, >> even >> > > then the static objects remain in memory. I beleive this is default >> android >> > > behaviour. >> > > I have an example app. >> > > package com.cm.test; >> > >> > > import java.util.HashMap; >> > >> > > import android.app.Activity; >> > > import android.os.Bundle; >> > > import android.util.Log; >> > >> > > public class MyActivity extends Activity { >> > > public static HashMap<String, String> hMap = new HashMap<String, >> > > String>(); >> > >> > > /** Called when the activity is first created. */ >> > > @Override >> > > public void onCreate(Bundle savedInstanceState) { >> > > super.onCreate(savedInstanceState); >> > > setContentView(R.layout.main); >> > > Log.i("***","Hash map size = "+hMap.size()); >> > >> > > hMap.put("Alok","Alokkkk"); >> > > hMap.put("Jitu","Jituuuu"); >> > >> > > Log.i("***","Activity onCreate() called"); >> > > } >> > > @Override >> > > public void onDestroy() >> > > { >> > > Log.i("***","Activity onDestroy() called"); >> > > super.onDestroy(); >> > >> > > } >> > >> > > @Override >> > > public void onResume() >> > > { >> > > super.onResume(); >> > > Log.i("***","Activity onResume() called"); >> > > } >> > > @Override >> > > public void onStop() >> > > { >> > >> > > super.onStop(); >> > >> > > Log.i("***","Activity onStop() called"); >> > > } >> > >> > > } >> > > Output First time is Size = 0. for 1st launch, Next for every launch , >> > > HashMap size is 2... If i use ArrayList , the size of ArrayList goes >> on >> > > increasing. >> > > I dont want this to happen.One thing was that to clear the HashMap in >> > > onDestroy() or in onStop() in case user presses Home button. But my >> Activity >> > > launches another ListActivity in it. So the alternae option is to >> clear the >> > > Hashmaps in onDestroy() | onStop() of this activity. >> > > I am not much clear when the Activity exits. From the posts that i >> have >> > > read i found few things here >> > >http://groups.google.com/group/android-developers/browse_thread/threa. >> .. >> > > The manifest part android:clearTaskOnLaunch=true does not work in my >> case. >> > > What do you people suggest in this case? >> > > Thanks, >> > > Alok. >> > >> > > -- >> > > You received this message because you are subscribed to the Google >> > > Groups "Android Beginners" group. >> > >> > > NEW! Try asking and tagging your question on Stack Overflow at >> > >http://stackoverflow.com/questions/tagged/android >> > >> > > To unsubscribe from this group, send email to >> > > [email protected]<android-beginners%[email protected]> >> <android-beginners%[email protected]<android-beginners%[email protected]> >> > >> > > For more options, visit this group at >> > >http://groups.google.com/group/android-beginners?hl=en >> >> -- >> You received this message because you are subscribed to the Google >> Groups "Android Beginners" group. >> >> NEW! Try asking and tagging your question on Stack Overflow at >> http://stackoverflow.com/questions/tagged/android >> >> To unsubscribe from this group, send email to >> [email protected]<android-beginners%[email protected]> >> For more options, visit this group at >> http://groups.google.com/group/android-beginners?hl=en >> > > > > -- > ...Swapnil > > || Hare Krishna Hare Krishna Krishna Krishna Hare Hare || > || Hare Rama Hare Rama Rama Rama Hare Hare || > > -- > You received this message because you are subscribed to the Google > Groups "Android Beginners" group. > > NEW! Try asking and tagging your question on Stack Overflow at > http://stackoverflow.com/questions/tagged/android > > To unsubscribe from this group, send email to > [email protected]<android-beginners%[email protected]> > For more options, visit this group at > http://groups.google.com/group/android-beginners?hl=en > -- You received this message because you are subscribed to the Google Groups "Android Beginners" group. NEW! Try asking and tagging your question on Stack Overflow at http://stackoverflow.com/questions/tagged/android To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-beginners?hl=en

