Android Application object life cycle

三世轮回 提交于 2019-12-18 04:45:04

问题


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 starts
  • onLowMemory() - called when the Android system requests that the application cleans up memory
  • onTrimMemory() - 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 production
  • onConfigurationChanged() - called whenever the configuration changes

Read more here



来源:https://stackoverflow.com/questions/5900176/android-application-object-life-cycle

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!