How to erase static variables in Android
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?!
Thank you,
Mur
UPD
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
Some Ideas?
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:
A
If you want to terminate your application programmatically, you can call finish()
anywhere from within your code.
B
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
Edit:
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 null
).
精彩评论