I've been having similar issues lately as well.
I have a list object (not listview) in my main activity. The user can start a second activity and that activity reads in the data from the list in the main activity (the list is a process global in the main activity). This data is read each time the second activity starts and is used to populate a listview.
This normally all works well. However, in the second activity the user can press a button that opens a web page in the device's default browser. If the device gets low on memory while the second (and first) activity is paused while the user is in the browser, then Android seems to be killing the first activity (and possibly the second).
My problem then arises when the user backs out of the browser and the OS returns to my second activity. At that point I get an error when the second activity tries to populate the listview with the first activity's list data saying that the list in the first activity is not initialized.
Since the source list is in the first activity and I can do nothing about it, the only solution I have come up with is to kill the second activity (ExitApplication) if a check of whether or not the list in the first activity is initialized comes back as false. This then kills the second activity before it ever really shows again and sends the user back to the first activity (and I assume it is then recreated).
I think part of the issue is with my phone. I have an EVO 4G and over the past few updates to it they have cracked down on killing background processes. As a result, background processes tend to get killed way too often. The biggest problem with the EVO 4G now is that they got so agressive with it that the "Sense" parts of the phone (basically HTC's custom interface and widgets) get killed way too often.
It's so bad that if I use the EVO's built in RSS widget and open a story in the default browser then I can almost always kill the Sense process on demand simply by doing an everyday thing such as reading a few news articles. Sometimes the phone even kills the
browser while I am reading a story and dumps me back to the RSS widget app. To add insult to injury, many times when I get dumped back to the RSS widget (or just return to it after reading a story) the widget is empty and says there are no stories even though there were 100 stories before I tried to read the article. This is of course because the widget itself is getting killed and recreated.
On the plus side, it makes it easy for me to see what happens when my app gets killed by the OS. All I need to do is press Home, read a couple articles and wait for the phone's interface to completely restart then return to my app.
