我的Android应用程序在我的Activity的onResume方法中检查特定服务是否未运行。如果尚未启动,则进入后台(通过startService)并继续执行操作。单击按钮可使服务进入前台,并且效果很好。现在问题是:
场景#1:
前台服务有一个按钮,将其发送回后台并停止。我点击它然后关闭我的应用程序(来自最近视图的活动)。即便是Android监视器也会告诉我它没有运行并且可以正常工作。
场景#2 :(不期望的行为)
首先,我关闭应用程序(活动),然后单击服务的关闭按钮。在这种情况下,我可以清楚地看到我的应用程序仍然使用与活动打开时相同的内存量。当我重新打开我的应用程序时,我可以看到它在我离开它的地方继续工作(至少内部应用程序变量不会被垃圾收集)有时CPU使用率监视器显示方法被调用,但不是来自我的应用程序。只有Android SDK功能。我看不到内存中保存的对象,但是很多聊天[],字符串,FinalizerReferences等......
是什么导致这个?破坏了上下文生命周期?内存泄漏?