用于登录的 IntentService 与 AsyncTask Activity?

IntentService vs AsyncTask for Login Activity?

我想在我使用网络服务的应用程序中进行登录 activity。提出请求的最佳做法是什么?

我应该使用 IntentService 还是应该使用 AsynkTask class 并覆盖它的方法?

您应该使用 Aysnc 任务,因为 IntentService 在后台 运行,因此您必须在网络呼叫响应后更新 UI。

所以异步任务更适合你的情况。

IntentService 我们用于长时间后台 运行ning 任务,它将在工作完成后自行终止。

使用 AsyncTask 将有助于使您的代码在您的情况下更加简单。 在这种情况下,您将只使用一个 class 到另一个。在这种情况下,您将以最简单的方式传输数据。

在第二种情况下——intentservice——你必须write/read/collect/extract你的数据、时滞等等。

编辑 1.轮换前可以取消申请 2.您可以检查您的请求是否在进行中,不要再次启动它。 3. 您可以在登录屏幕中禁用旋转。

AsyncTask 只是 运行 中的异步操作 class。

IntentService 运行是一项新服务,可以执行您想要的操作。

使用 AsyncTask 会容易得多,因为您可以在 activity 中使用它,您可以 运行 从它到目标 activity(registrer,用户区等)。

如果您使用 IntentService,则必须创建绑定器、收集数据、监控数据等等。为此目的,IntentService 的工作量将超出其价值。

如果您使用 IntentService,您将必须实现一个 Binder 来与 UI 通信,而 AsyncTask 提供更新 UI 的回调。

但是,AsyncTask 有一个缺点,即每次调用 activity 时都会启动它。因此,要处理此问题,您可以使用 AsyncTaskLoader 为您的后台工作提供 AsyncTask 并处理其状态以避免通过配置更改再次启动它。

Android 开发者教程有一个很好的例子来说明如何使用 AsyncTaskLoader。你可以找到它 here.