Android 应用程序启动生命周期
我无法找到关于应用程序长期生命周期的良好文档 如果我让应用程序运行,点击home按钮,然后单击应用程序的启动器图标,应用程序的onCreate不会被调用,前台活动的onResume会被调用。但如果我在某个点上等待足够长的时间,单击launcher图标将调用Application onCreate,主launcher活动将启动。这是什么时候发生的 当我浏览“最近使用”列表中的应用程序时,如果我点击了一个我一个月没有使用过的非常旧的应用程序,该应用程序不会返回到以前的状态,而是会进入启动状态。因此,在某个时刻,应用程序似乎从保存状态变为不保存状态。这是什么时候发生的 如果应用程序由于内存压力而被终止,则可能会保存savedInstanceState捆绑包并调用Activity onResume,但应用程序的onCreate是否会在此时被调用?这个包可以保存多长时间 但如果我在某个点等待足够长的时间,单击启动器图标将调用Application onCreate,主启动器活动将启动。这是什么时候发生的 这些是不同的问题Android 应用程序启动生命周期,android,Android,我无法找到关于应用程序长期生命周期的良好文档 如果我让应用程序运行,点击home按钮,然后单击应用程序的启动器图标,应用程序的onCreate不会被调用,前台活动的onResume会被调用。但如果我在某个点上等待足够长的时间,单击launcher图标将调用Application onCreate,主launcher活动将启动。这是什么时候发生的 当我浏览“最近使用”列表中的应用程序时,如果我点击了一个我一个月没有使用过的非常旧的应用程序,该应用程序不会返回到以前的状态,而是会进入启动状态。因此,
应用程序
单例是在流程分叉后不久创建的,作为为您启动新流程的一部分。当某些东西需要你的应用程序存在时(例如,用户点击启动程序图标),而你的进程不存在时,将触发此操作。任何给定的进程在内存中保留多长时间取决于各种环境因素
启动程序活动是否恢复现有任务,或者任务是否重置,取决于任务是否存在(即,用户是否从“最近的任务”列表中删除了任务)以及用户离开任务后的时间。一个任务被视为“活动”大约30分钟,尽管有一些清单条目可以用来稍微调整它
因此,在某个时刻,应用程序似乎从保存状态变为不保存状态。这是什么时候发生的
大约30分钟(见上一段)
如果应用程序由于内存压力而被关闭
我猜“app get's killed”的意思是“app的进程被终止”
可能会保存savedInstanceState捆绑包并调用Activity onResume,但应用程序的onCreate是否会在此时被调用
是的,因为需要为您创建一个新流程
这个包可以保存多长时间
大约30分钟(见上文)。设备上安装的每个应用程序都在其进程内运行
- 应用程序。onCreate()
- YourFirstActivity.onCreate()(前提是YourFirstActivity在AndroidManifest.xml中声明)
- 您的第一次访问。onStart()
- 您的第一个活动。onResume()
- 您当前的活动。onPause()
- YourCurrentActivity.onSaveInstanceState()-此调用未精确指定,但您可以假设在大多数情况下,通过onStop()方法调用onSaveInstanceState()
- 您当前的活动。onStop()强>
- 您当前的活动。重新启动()李>
- 您当前的活动。onStart()李>
- 您当前的活动。关于RestoreInstanceState()李>
- 您当前的活动。onResume()李>
- 应用程序。onCreate()
- 您当前的活动。onCreate()强>
- 您当前的活动。onStart()强>
- 您当前的活动。onResume()强>
希望这能有所帮助。这30分钟可能是从哪里来的-在内核或框架代码中试验或引用。@commonware当你在30分钟以上的最近任务列表中启动非活动应用程序时,Android应该重新创建最重要的任务活动,对吗?你是说不需要重新交付一个包就可以实现吗?如果用户通过堆栈返回,其他活动会以同样的方式重新创建吗(没有捆绑)?@MorrisonChang:我在为我的书研究任务章节时,在文档的某个地方读到了它。我一直认为规则是“如果在re中