2012-06-21 49 views
2

我有一个扩展Application的类。课程相当广泛。当应用程序长时间处于后台时,操作系统会终止该类。在重新开始的时候,事情就会横向。我需要调试一些数据结构并解决问题。有没有办法强制操作系统复制这种行为,而不是在每次运行应用程序之间等待一两个小时?我知道我可以杀死整个应用程序,但这不是我要做的。强制应用程序类关闭

回答

3

是的。您可以使用Dev Tools App模拟器(请查看立即销毁活动)执行此操作,您可以使用冰淇淋三明治手机(设置 - >开发人员选项,不要保留活动复选框)执行此操作。

+0

这引起了我的应用程序将主屏幕和再进入我的应用程序后崩溃。这是一件好事:-)谢谢。 –

4

当应用程序在后台很长一段时间的操作系统杀死类。

不,当应用程序在后台运行一段时间时,操作系统终止您的进程。

有没有办法强制操作系统复制这种行为,而不是每次运行应用程序之间等待一两个小时?

您可以从DDMS终止进程。

我知道我可以杀死整个应用程序,但这不是我要做的。

是的,因为没有“杀死班级”的概念。

+0

+1!很多开发人员需要阅读这个答案 –

+0

如果我终止整个过程,事情运行良好。另外,我的Activity在启动时正常工作。但是,我的单例应用程序类似乎是所有问题的来源。我见过的其他文章引用了这个类的生命周期,其行为与活动不一样。如果情况并非如此,我不确定我要出错的地方。我的应用程序工作正常,如果你把它放到后台并将其还回以及如果你杀了它并重新启动它。 –

+0

@EricCrump:“我见过的其他文章引用了这个类的生命周期,但其行为与行为不一样。” - 它没有太多的“生命周期”。它是在你的流程分叉时创建的(刚创建你的ContentProviders之后,并且在做其他事情之前),它一直存在,直到流程终止。 – CommonsWare

0

编程方式来关闭从其他类的应用程序,你可以调用这个方法:

public static void killApp() {  
       //Notify the system to finalize and collect all objects of the app. 
       System.runFinalizersOnExit(true); 
       //Force the system to close the app down completely. 
       System.exit(0); 
     }