android 应用进入后台,关于android:当应用程序进入后台时,它的静态实例可能会被清除?...
存储应用程序全局数据有人说,当任务进入后台时,android将清除单例实例。是真的吗我意识到当我尝试杀死一个前台任务(通过使用DDMS)时,应用程序会自动重启它。一定有一些守护进程,不是吗?当然,重启前台应用程序对我来说是安全的,因为进程重启后,我可以通过调用Application的onCreate来重新初始化我的应用程序。但是我对后台任务/应用程序感到困惑.android会杀死前台任务并以与前台
存储应用程序全局数据
有人说,当任务进入后台时,android将清除单例实例。
是真的吗
我意识到当我尝试杀死一个前台任务(通过使用DDMS)时,应用程序会自动重启它。一定有一些守护进程,不是吗?
当然,重启前台应用程序对我来说是安全的,因为进程重启后,我可以通过调用Application的onCreate来重新初始化我的应用程序。
但是我对后台任务/应用程序感到困惑.android会杀死前台任务并以与前台应用程序相同的方式重启它吗?(我试图杀死后台应用程序,不重新启动就退出)。否则dalvik会清除并回收静态实例?
如果达尔维克真的很清楚辛格尔顿,该如何避免?
每个Android应用程序都在一个进程中运行。当某个任务(无论是后台还是前台)被杀死时,实际上该进程也被杀死了。就像Java应用程序在JVM上运行的情况一样,每个JVM实例都是一个进程。
dalvik对象管理中没有与JVM不同的魔术。我认为达??尔维克不会清除单例实例。没有引用的对象实例在GC上将是清楚的,但单例不应该。
在Android应用程序中,主线程是事件分发线程。它循环运行,将事件调度到适当的活动,窗口小部件或服务。编写应用程序实际上是在实现事件回调:您编写的代码中没有main(),您从未拥有主线程,事件发生时底层框架会调用您的代码。当任务变为后台时,即看不到任何活动,则不会生成UI事件,因此您可以看到主线程正在事件队列上等待。"无痛线程"一文讨论了Android应用程序使用的线程模型。
另一个问题,前台任务和后台任务有什么区别?当前台任务变为后台任务时,我发现后台任务的主线程变为等待状态。android框架还会做什么?
@ user890973 Ive更新了我对另一个问题的回答。
:)谢谢,我读过那篇文章。AsyncTask有时会让我感到痛苦,在这种情况下,例如stackoverflow.com/questions/7034823/。Handler是管理一组任务的好方法,它使管理顺序或防止重复很容易 。谢谢你的帮助
更多推荐
所有评论(0)