我需要在App启动时以及完全退出(被销毁)时运行一些代码。我正在使用onCreate和onDestroy,但遗憾的是屏幕方向更改会破坏并重新创建活动。
答案 0 :(得分:2)
查看Android应用http://developer.android.com/reference/android/app/Application.html
您可以知道何时创建应用程序(Application.onCreated)
但是您无法知道应用程序何时销毁。 Application.onTerminate()仅用于模拟过程环境。
答案 1 :(得分:0)
每次应用启动时,都会调用启动器活动的onCreate
方法。因此,您必须将所需的代码放在Launcher活动的onCreate
方法中。
要检测您的应用是否被销毁,您可以{strong}覆盖未实现的方法菜单override
onDestroy
方法(就像添加onCreate
一样)。并且在应用程序被销毁时将代码放在您想要执行的方法中。
答案 2 :(得分:0)
如果您的代码可能在后台发生(如果您需要在UI线程上发生某些事情,则无法使用),您可以尝试这样做:
让您的活动持有对您扩展的主题的引用,让我们称之为MyThread运算符。
在onCreate中,执行:
if(operator==null){
operator = new MyThread();
operator.start();
}
然后,在MyThread中,将代码放在run()
和interrupt()
两种方法中。
当您通过方向更改重新创建活动时,它会使操作员对您的后台线程保持反射。当您实际关闭应用程序时,android将在几秒钟后终止您的运算符,从而执行您的代码。
有人纠正我,如果我错了,我最近没有睡得太久,线程总是一个复杂的话题......