On the first time my app is running, on the root activity, the user is 
required to select a certain options that determines which data would be 
downloaded for him from a database.

Once he had picked that option, the data is downloaded and kept on a 
singleton class that should hold that data as long as the application is 
running. (Even in the background)

My problem is that sometimes after the user exits my application for a 
while (using the home button), Android apparently kills some of the 
activities in my app, and somehow with them, it resets the important 
singleton class. Causing my app to receive all kinds of null reference 
exception once I try to access the data that is supposed to be kept on the 
singleton.

I understand that the Android OS can sometimes choose to kill an 
application, but allow the user to return to it from his last visited 
activity. Sometimes it just kills the whole application and forces the user 
to begin from the start.

I was looking for a solution, and I found out about 
"android:alwaysRetainTaskState" attribute that I can apply on my root 
activity. Apparently with it, whenever android decides to kill my app, it 
would at least force the user to begin from the first activity where I can 
re-download the data, instead of allowing the user to begin with a more 
advanced activity causing him to get null exceptions.

However when I applied it on my application it did not work, and when I 
returned to my application I was beginning from an advanced activity, with 
an empty singleton instance.

I also tried "android:clearTaskOnLaunch" and it worked, but it's an 
overkill, since I don't want that every time the user would return to the 
app, he would have to start over. I want it to happen only if android 
decided to kill the app.

Is there something I'm doing wrong? Is there any chance maybe there's a 
better solution for keeping the singleton alive?

Thanks!

-- 
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

Reply via email to