问题
I can't find the Application's object (extend Application) life cycle. For example, what happens if I have a broadcast receiver which is called through Alarm. Will methods in Application being called? Or is everything independent from the Application? If I have a datahelper instantiated in the Application and I call it from broadcast receiver, will it available? Which is the Application object life cycle, when it is destroyed? when is it called when using Alarms? What happens when the activity is not in foreground with the Application object? Thanks in advance. Guillermo.
回答1:
Look at it this way: before everything else, there is Application
. It is created before your BroadcastReceiver
, before your Activity
instances, before your Service
instances, etc. It doesn't matter whether anything is in the foreground. The application will be terminated when all of your Activity
instances are gone, when you're out of your BroadcastReceiver
and once your Service
instances are terminated. There's no guarantee that it will be killed, but it is the last thing to go when the OS decided that your app must die.
回答2:
The application object is already the first components started[About]. It is also always the last component of the application, which is terminated.
This object provides the following main life-cycle methods[Multiprocess]:
onCreate()
- called before the first components of the application startsonLowMemory()
- called when the Android system requests that the application cleans up memoryonTrimMemory()
- called when the Android system requests that the application cleans up memory. This message includes an indicator in which position the application is. For example the constant TRIM_MEMORY_MODERATE indicates that the process is around the middle of the background LRU list; freeing memory can help the system keep other processes running later in the list for better overall performance.onTerminate()
- only for testing, not called in productiononConfigurationChanged()
- called whenever the configuration changes
Read more here
来源:https://stackoverflow.com/questions/5900176/android-application-object-life-cycle