You can use a lazy initialize Java Singleton, where you pass in a context in case one is needed to recreate state.
If you need to keep a context reference, make sure to call getApplicationContext and keep that instead, so you don't run into object lifetime issues and leak memory (in case that Context is an Activity or a Service, and it goes away before the process does). The stuff about not doing much in the application's onCreate I take to be more of an architectural suggestion than a real framework limitation, you can probably do as much there as in any other callback (e.g activity onCreate), subject to ANR timeouts. -- Kostya Vasilyev -- http://kmansoft.wordpress.com 06.02.2011 1:38 пользователь "AndroidDevTime" <androiddevd...@gmail.com> написал: > I have an Widget Application that also has Activities, and a heavily > used Service full of functions. I would like to keep a global status > for the application. This is app/widget specific state like say > STARTED, LEVEL1, LEVEL2 etc, so since the status is referenced in the > widget, the service, and activities I thought a static variable in an > Application Subclass might be good. So my question is twofold. > > 1) Where should I keep such a state/status variable as a syncronized > static variable in an application subclass? > > And > > 2) Its first initial value depends on reading some values by calling > registerReceiver(null, intent) passing null for the receiver in order > to obtain some system values. Where should I do this initialization. > The Application.onCreate() docs indicate that not much should happen > in this method. I am thinking in the Widget.update method can call > getApplication and perform the registerReceiver operation and then > update the static variable in the Applicaiton subclass. Is this the > right place to initialize the application state? > > Thanks > > -- > 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