Thanks again. Cheers!
On Jul 9, 5:36 pm, Dianne Hackborn <[email protected]> wrote: > The key thing to understand is that, unless you are doing something special, > your .apk corresponds to a single process it runs in. Once the system needs > to run a component in that .apk, its process is created. That process > sticks around as long as those components are needed, and even after that if > there is enough memory. For example, if you launch your app from home, hit > back (so there is no nothing of it running), and then launch it again, more > than likely your same process from the first time is still there and will be > used to launch a new instance of the activity. > > So a static is simply a global in your process, and will stick around for as > long as your process does. Likewise any threads you create -- their > lifecycle is tied to the process, unless you explicitly stop them. > > The duration your process will last is described here: > > http://developer.android.com/guide/topics/fundamentals.html#proclife > > This aspect of processes is extremely important to understand, because it is > key to designing where your data goes (whether it is in a static associated > with the process or local to a particular component) to minimize the amount > of work you need to do as the user navigates your UI. The framework itself > uses this extensively to maintain various caches in application processes to > keep around data such as loaded resources for future use. > > > > On Thu, Jul 9, 2009 at 5:20 PM, Mark Murphy <[email protected]> wrote: > > > > Hmmm...so, static class members are definitely always > > > preserved through an orientation flip? > > > Unless you manually null them out or something, yes. Static data, > > services, Application subclasses, and the like all are unaffected by > > rotations. > > > > For example, I assume that doesn't necessarily apply to > > > other sorts of changes, such as switching to another app. If an app > > > goes to the background long enough and the user does enough other > > > things with the device, it surely must get shunted from memory if the > > > OS needs the RAM back, so in such a case statics would not survive the > > > app coming back to the foreground, right? > > > Correct. Static data, services, and Application subclasses are only good > > for short-term storage. Anything that might need to survive a normal > > closing of your activity should be saved either through > > onSaveInstanceState() or your own files/database in a method like > > onDestroy(). > > > -- > > Mark Murphy (a Commons Guy) > >http://commonsware.com > > Android App Developer Books:http://commonsware.com/books.html > > -- > Dianne Hackborn > Android framework engineer > [email protected] > > 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 [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 -~----------~----~----~----~------~----~------~--~---

