我正在尝试查找有关的官方文档Android
Application
类的生命周期。显然,对于我在 StackOverflow 上发现的内容here https://stackoverflow.com/a/4209391/1334473 and here https://stackoverflow.com/a/4585733/1334473 the 应用 http://developer.android.com/reference/android/app/Application.html如果系统需要内存,则可以杀死该类。甚至this http://www.developerphil.com/dont-store-data-in-the-application-object/教程是这么说的。
但有几件事让我有点恼火:
- 我找不到官方文件告诉我是的,
Application
类可以在内存不足时被杀死。
- 我找不到任何代表的官方图
Application
生命周期也不是。
- 我找不到任何合适的回调来使用
Application
类被杀死,除了onLowMemory() http://developer.android.com/reference/android/app/Application.html#onLowMemory()。这是否意味着我必须使用此方法来保存我的数据?
- If the
Application
类因内存压力过低而被终止,应用程序再次进入前台,我怎么知道它的onCreate()
该应用程序在系统终止后已重新创建?在一个Activity
我会测试savedInstanceState
,但据我所知,没有类似的Application
class.
感谢您的启发。
我找不到官方文档告诉我,是的,Application 类可以在内存不足时被杀死。
以下是对其说明之处的参考:
- 应用基础知识 http://developer.android.com/guide/components/fundamentals.html#proclife
- 进程和线程 http://developer.android.com/guide/components/processes-and-threads.html
- Android 方式的多任务处理 http://android-developers.blogspot.ru/2010/04/multitasking-android-way.html
我也找不到任何代表应用程序生命周期的官方图表。
这是一个合理的观察...虽然以下内容是基于意见的,但我最好的猜测是,这样的图表将与 Android 的多任务“哲学”相矛盾,如最后提供的参考文献中所述:
“Android 以这种方式处理应用程序的一个关键是进程不会彻底关闭。当用户离开应用程序时,它的进程会保留在后台,允许它继续工作(例如下载网页),如果如果设备永远不会耗尽内存,那么 Android 将保留所有这些进程,真正让所有应用程序始终“运行”。
当应用程序类被杀死时,我找不到任何合适的回调使用onLowMemory()
。这是否意味着我必须使用此方法来保存我的数据?
关于onLowMemory() http://developer.android.com/reference/android/app/Application.html#onLowMemory%28%29其描述非常简单,我们是在谈论后台进程还是前台 UI?...
如果没有申请Activities
处于前台并且操作系统内存不足,它可能会杀死该应用程序,以便没有任何Application
或应用程序组件的 (Activity
, Service
) 回调将被调用。也就是说,(因为你正在处理Activities
)我建议按照文档存储所有持久数据,在onPause() http://developer.android.com/reference/android/app/Activity.html#onPause%28%29.
如果应用程序类因低内存压力而被终止并且应用程序再次进入前台,我如何知道它的onCreate()
该应用程序在系统终止后已重新创建?
你无法识别它Application http://developer.android.com/reference/android/app/Application.html's onCreate()
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)