2010-10-10 129 views
0

在我的应用程序实现的,与网络服务器交换数据每次20分钟,并在修改MyApplication的类对象的一些延伸的应用的值的远程服务。机器人服务持久

后12或15小时机器人杀死所有MyApplication类和/或我的服务。 我试图实现

机器人:alwaysRetainTaskState = “真”

没有结果。有些人可以向我解释如何使一个服务或应用程序持久化在Android?我看到更多的应用程序保持在后台几天没有问题,但我不知道如何做到这一点。

我知道,如果它需要一些空闲的内存,但我的系统的可用内存,并运行,因为我用它来测试我的程序没有应用程序的Android 180MB可以杀死每个应用程序。

回答

3

一些可以向我解释如何使服务或应用程序在Android中执着?

你不知道。你写你的应用程序,使它不需要一直在内存中。

在我的应用程序实现的,与网络服务器交换数据每次20分钟,并在修改MyApplication的类对象的一些延伸的应用的值的远程服务。

请使用AlarmManagerIntentService,让您的服务并不需要在内存中是做有意义的工作时除外。这也意味着Android在内存中不太可能会杀死您的服务,并且用户不会因为认为自己在浪费内存而杀死您的服务。

+0

thansk答复commonsware。所以我必须扩展IntentService而不是Service?我将使用AlarmManager而不是TimerTask.is它是正确的吗?另一个问题:当我使用警报管理器时,服务每20分钟开始一次? – zerocool87 2010-10-10 13:07:10

+0

抱歉,如果我发布另一个问题,但我不能编辑以前的帖子。如果服务不在内存中,那么应用程序类也是如此。因此,我必须将我的对象和变量保存为文本文件或共享偏好或不是?再次感谢 – zerocool87 2010-10-10 13:11:32

+1

@ zerocool87:“所以我必须扩展IntentService而不是Service?” - 这是'AlarmManager'的典型特征。 “我将使用AlarmManager而不是TimerTask.is它是正确的吗?” - 是的。 “当我使用报警管理器时,服务每20分钟开始一次?” - 我会让用户选择频率,但否则它可以是任何你想要的。 “。因此,我必须将我的对象和变量保存为文本文件或共享偏好或不是?” - 是的,你的状态需要在文本文件,共享首选项,数据库或其他东西。 – CommonsWare 2010-10-10 13:14:59