当我的应用程序在后台时,Android操作系统会破坏应用程序类或AlarmManager类吗?

当我的应用程序在后台时,Android操作系统会破坏应用程序类或AlarmManager类吗?,android,Android,我有一个AlarmManager类、一个简单类、一个应用程序类和一些其他类。 简单类由AlarmManager调用,然后简单类在Application类的帮助下尝试实现目标。我的应用程序是否在后台并不重要;我需要确保这三个类是活动的 现在,我的问题是:如果我的应用程序在后台,Android操作系统会破坏这三个类(AlarmManager类、简单类、Application类)吗?如果答案是肯定的,那么我应该使用服务吗?如果我使用服务,我应该如何在这三个类中实现它 编辑: 我试图在特定时间使用fac

我有一个
AlarmManager
类、一个简单类、一个
应用程序
类和一些其他类。 简单类由
AlarmManager
调用,然后简单类在
Application
类的帮助下尝试实现目标。我的应用程序是否在后台并不重要;我需要确保这三个类是活动的

现在,我的问题是:如果我的应用程序在后台,Android操作系统会破坏这三个类(
AlarmManager
类、简单类、
Application
类)吗?
如果答案是肯定的,那么我应该使用
服务吗?如果我使用
服务
,我应该如何在这三个类中实现它

编辑:

我试图在特定时间使用facebook sdk发布状态。因此,
报警管理器
类将在特定时间调用简单类。然后简单类将从
应用程序
类获取一些数据(如会话、消息),然后简单类将消息发布到用户的墙上


会话、消息等存储在其他活动类的
应用程序
类中。

一个活动在后台(通过用户单击主页或系统调用另一个活动),它将出现在pause(),而不是继续运行,这意味着如果您的活动正在上载图像->暂停上载。如果系统缺少RAM等资源,系统将自动销毁您的活动。所以如果你想做一个长时间的动作,比如下载,上传,。。。你应该使用这项服务


或者,如果要按活动下载,可以将下载状态或类似的内容保存在onPause()中,并将resumse download保存在onResume()中。但下载过程在您重新开始活动之前不会运行。

为了清晰起见,我可能需要显示一些代码。您可能没有
AlarmManager
,但通过创建
PendingEvent
并将其传递给系统的
AlarmManager
来注册要调用的一些组件。如果这个假设是正确的,如果你的应用程序在警报触发时没有运行(没有实时进程),Android会创建一个。
在这个过程中,加载并实例化组件中使用的所有类。如果你的应用程序在后台(进程仍然存在,“缓存”),Android将重用该进程并调用必要的组件

在一段时间的不活动之后,Android将销毁所有(让我在这里将其命名为“应用程序”)。包括活动对象和服务。唯一幸存下来的是定义为前台服务的服务(在较新版本的Android中需要一个通知图像,因此无法完全隐藏它)。

如果您向我们描述您正在尝试做什么,我很确定我们可以帮助您设计它,这样您的应用程序就不需要在后台运行,您也不必使用服务。@gsingh2011:我已经编辑了我的帖子。请查收。感谢您您的报警管理器可以触发活动、服务或接收器。无论应用程序是前台还是后台,除非您强制停止应用程序。@Rasel:好的,这样我就可以将服务扩展到
简单类。但是这个类需要保存在
应用程序类中的数据。那么,如果我的应用程序位于后台,
应用程序类将发生什么变化?工作完成后,如何启动和停止服务?如果触发报警时需要一些数据,应将数据保存到其他地方。您可以使用共享首选项sqlite db。您甚至可以将应用程序类对象写入文件。然后您可以检索该对象。服务本身不足以确保它不会被系统杀死,它需要是一个前台服务!是的,但我的意思是当用户点击主页时,服务可以继续下载或上传。