So I have modified my thread to be a singleton and mimplemented it like this. Hope it helps someone else who might be facing the same issue.
public class SingletonThread extends Thread{ private static SingletonThread _instance; public static boolean IS_RUNNING = false; private static Context mContext; private SingletonThread(){ } public synchronized static final SingletonThread getInstance(Context context){ mContext = context; if(instance == null){ instance = new SingletonThread(); } return instance; } public synchronized void run(){ IS_RUNNING = true; //........Implement your requirements. IS_RUNNING = false; } } And whenever I call the getInstance, from any other UI thread, I will check for IS_RUNNING also and will start the thread only if IS_RUNNING is false/will wait till IS_RUNNING is false. There might be better ways to do this, so please post your feedbacks, Thank you. On Mar 11, 2:44 pm, Dianne Hackborn <hack...@android.com> wrote: > On Thu, Mar 11, 2010 at 1:40 PM, Achanta <krishna.acha...@gmail.com> wrote: > > Yes I am trying to redesign it to use AsyncTask. One reason why I did > > not take this approach is that I just wanted a plain thread that sits > > and logs user events that are occurring throughout my app and it made > > more sense to just start that thread when the app starts and shut it > > down when the app closes. I had a handler which grabs the logs and > > puts them in db and the thread just sits there and logs them to > > server. > > For this model, manage the thread through a separate static singleton, have > clients tell it when they are using it (in onCreate() or whatever) and when > they are done (in onDestroy() or whatever), and have that class take care of > stopping the thread when there are no more clients. > > Also please be careful about what this thread is doing. An application > should be careful to be doing very little work any time it is not in the > foreground, or it will be consuming battery... and has a good chance of > showing up high up in the battery meter as it eats the user's battery. > > -- > Dianne Hackborn > Android framework engineer > hack...@android.com > > 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. -- 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