That affirms a lot for me. Thanks! Richard Schilling Root Wireless
On Jul 14, 4:35 pm, Dianne Hackborn <[email protected]> wrote: > No, it will never be true. > > The VM doesn't manage processes at all. The system starts a process and > runs a VM inside of it when it needs to run any components of an > application. Unless you specify otherwise, all of your components run in > the same VM, in the same process, sharing all of the same statics. > > There is really nothing special about this besides a normal operating > system. There are processes, these are managed by the kernel, and they run > some code. There is Dalvik, which is some code that can run in a process. > It can't hop your code into another process. > > On Tue, Jul 14, 2009 at 2:59 PM, Richard Schilling < > > > > [email protected]> wrote: > > > Yes. I had read that, and I understand that the VM tries to stratify > > processes depending on their function and keep my process alive as > > long as possible. What I'm really interested in is detecting when the > > the VM (re)-instantiated and garbage collects my Activity class, and > > how that relates to the process identifier... > > > So, with this code, would procewssIDChanged ever be true? I know it's > > a mundane question, but it tells me a lot about Android process > > management.... > > > public IfWeirdAlWasAProgrammer extends Activity{ > > > private static boolean newInstance = true; > > private static int currentProcessId = -1; > > > private boolean processIDChanged = false; // non-static on purpose > > > �...@override > > public void onCreate(Bundle savedInstanceState) { > > super.onCreate(savedInstanceState); > > > if (newInstance){ > > Log.i("WeirdAlWasHere", "Like a surgeon, cuttin' for the > > very first tiiiiime."); > > newInstance = false; > > currentProcessId = android.os.Process.myPid(); > > } > > > if (!newInstance && (currentProcessId != > > android.os.Process.myPid()){ > > processIDChanged = true; > > Log.i("WeirdAlWasHere", "I lost on Jeapordy, baby! > > Ohhhh!"); > > } > > > } > > } > > > Thanks again. > > > On Jul 14, 1:41 pm, Dianne Hackborn <[email protected]> wrote: > > > Yeah, the process lifetime, which is outlined here: > > > >http://developer.android.com/guide/topics/fundamentals.html#proclife > > > > On Tue, Jul 14, 2009 at 1:38 PM, Richard Schilling < > > > > [email protected]> wrote: > > > > > Thanks Dianne. Very helpful indeed. > > > > > For process lifetime, I don't think you're referring to the "entire > > > > lifetime" of an Activity as defined on the API reference page for > > > > Activity (http://developer.android.com/reference/android/app/ > > > > Activity.html< > >http://developer.android.com/reference/android/app/%0AActivity.html> > > > > ): > > > > > "The entire lifetime of an activity happens between the first call to > > > > onCreate(Bundle) through to a single final call to onDestroy()". > > > > > Rather, you're referring to a broader lifetime of the process that > > > > underlies the Activity.... correct? This would be the lifetime > > > > associated with android.os.Process I assume.... > > > > > Richard Schilling > > > > Root Wireless > > > > > On Jul 14, 1:23 pm, Dianne Hackborn <[email protected]> wrote: > > > > > Statics are statics -- they are global to the process. So their > > value > > > > will > > > > > last for the lifetime of the process, which is usually much longer > > than > > > > an > > > > > individual activity instance. > > > > > > On Tue, Jul 14, 2009 at 12:52 PM, Richard Schilling < > > > > > > [email protected]> wrote: > > > > > > > I just ran into a situation where it looks like a static variable > > > > > > reference is persisted across activity sessions. I didn't expect > > that > > > > > > because I thought that when an activity exits, it's de-referenced > > and > > > > > > garbage collected. > > > > > > > I am wondering if anyone can shed some (more) light on when the VM > > > > > > eliminates object references for Activities and Services and in > > > > > > particular when static variables get reset to default values? > > > > > > > Thanks. > > > > > > > Richard Schilling > > > > > > Root Wireless > > > > > > -- > > > > > 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. > > > > -- > > > 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. > > -- > 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 -~----------~----~----~----~------~----~------~--~---

