2011-09-04 115 views
1

如果我点击主页按钮,然后导航回应用程序,则可以使用我妈妈的手机与我的应用程序,它再次调用onCreate。如果我理解正确,这不应该是这样吗?onCreate被调用两次?

我知道这是因为我的webview加载,它应该只是打开已打开的页面。特别是因为我的发射模式设置为singleInstance ...

为什么会在我妈妈的手机上拨打两次电话,但在我的手机上它的工作原理是什么?

回答

3

根据Android documentation,当您切换回主屏幕时,您的活动可能会在无效时随时消失。

如果活动暂停或停止,系统可以从内存既可以丢弃活动 要求它完成,或者干脆杀死它 过程。当它再次显示给用户时,它必须完全重新启动并恢复到其以前的状态 。

+0

所以当发生这种情况时,它调用onDestroy()方法或onStop()方法,因为当我的onCreate被调用时,我正在失去对我的mediaplayer的控制,无法停止正在播放的音乐。 –

+0

当你离开Activtiy时,Android至少会调用onPause(),之后活动暂停并可能在任何时候被杀死。你失去控制意味着什么?你在活动中播放音频吗?以防万一:服务仅用于播放音频等内容。 – Julian

+0

当我点击一个mp3链接时,我正在播放mediaplayer。我无法弄清楚如何通过服务将url传递给mediaplayer,所以我有一个通知作为服务,mediaplayer只是shouldoverrideurlloading的一部分 –