为什么使用android服务?

我想知道当你需要做很多事情来访问任何公共方法或从一个服务(比如一个更大的List对象)获取大量数据时,使用android服务来做后台工作的意义。

为什么不只是使用一个简单的POJO在后台为你在一个单独的线程中做东西,如果你喜欢并获得访问其公共方法,而无需使用AIDL创build接口,绑定到服务等?

似乎哟需要做很多工作来访问从服务类的方法或是真的不是在Android的服务类的点?

我已经开发了一个android服务类,从一个web服务获取一个xml结构中的100个项目,然后我将它parsing成一个POJO,然后存储在一个列表中,但是我很难find一种方法将这个列表发送callback用此服务的活动。

我已经读过关于使用parcebales对象,但随着所有intent.putExtra有一个大小的限制,所以我可能会遇到问题在未来。

我想抛开Android服务,我很快就发现为什么我不喜欢在第一个地方使用它们:(

一个简单的SomeBackgroundPojo backroundTask = new SomeBackgroundPojo(); backgroundTask.getData(); SomeBackgroundPojo backroundTask = new SomeBackgroundPojo(); backgroundTask.getData();

似乎soooo比处理parcelables,可实现的对象,AIDL,绑定etcc等都更容易,只是为了实现我刚刚input的两行代码:(

Solutions Collecting From Web of "为什么使用android服务?"

Nitpick:运行线程化后台任务的对象并不完全是一个普通的旧Java对象的意思 。

如果你不关心在请求活动或应用程序closures的情况下正在进行的工作会发生什么情况,那么一定要避免服务。 服务的一个要点是,当用户离开一个活动时,他们可以保持活力:如果你只是在做一个工作来填充一个UI ListView ,通过一切方式使用一个AsyncTask ,就像在这个早期的问题中讨论的那样 。