2012-11-26 50 views
0

我知道可以启动一个服务没有活动,...我的问题是:如果我启动服务作为前台(调用startForegorund()),是应用程序对象总是实例化?应用程序对象和服务

或者是否有可能在某些情况下getApplication()== null?

回答

1

我会说Application是在您的应用程序运行时创建的,无论它是活动,前台还是后台服务。所以当你拨打getApplication时,你不应该得到null

+0

也许这是一个愚蠢的问题,但我的应用程序使用服务时出现了“奇怪”的行为,这让我觉得我的应用程序/活动/服务管理出现了一些问题。感谢您的回答。 –

+0

你可以发表你的代码的例子,你有“奇怪”的行为,可能有人可以帮助它。 –

+0

把这个代码放在这里有点复杂。我说当我尝试关闭应用程序,完成alla活动,停止服务并调用System.exit(0)时,有时我发现应用程序仍在运行,如果从Android桌面启动它,它会崩溃。看来有些活动没有关闭......我专门研究了Application对象,我认为这里有一个问题:可能我以错误的方式使用了单例。在http://developer.android.com上,他们说通常不需要对应用程序对象进行子类化,我会遵循这个建议。 –