I read this Article on StackOverflow. According to this, static variables will be erased, if
- the class is unloaded
- the JVM shuts down
- the process dies
But how to destroy / to kill my application (application process) and so to erase all static variables programmatically from my application?!
These static variables will be filled by reading some data from server.
Here is a test workflow:
- I start application -> static variables will be filled
- I go to home activity pressing back button -> finish() will be called
- I turn off internet connection (I’m sure there is no connection)
- Then I start application againg
- Static variables are still filled
Is there possibility to close all activities of an aplication? Will be application ‘closed’ in that case?
Ps. Yes, I know, it’s not the best way to use static variables, but i’m not the the author of that application, I’m just fixing bugs and put some new features to it.
How about setting the static variable to null?
You question isn’t all clear, so I’ll give you two options:
If you want to terminate your application programmatically, you can call
finish() anywhere from within your code.
If you simply want to kill your application “manually” on your device, you to the following:
- Click Menu
- Click Settings
- Click Applications
- Click Manage applications
- Find your app in the list, select it and click Force stop
I guess there also is a third option, but this might have to be done together with calling
finish() to be sure it happens:
In your activity you could also override the
onDestroy() method. Inside your implementation of
onDestroy() you can do any clean-up you need, such as resetting your static variables (e.g. to