IntentService vs AsyncTask for Login Activity?



我想在我的应用程序中创建一个使用 Web 服务的登录活动。提出请求的最佳做法是什么?

我应该使用 IntentService 还是应该使用 AsynkTask 类并重写其方法?

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

在第二种情况下 - 意图服务 - 你必须写入/读取/收集/提取你的数据,时间滞后等。

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

如果使用IntentService则必须实现绑定程序才能与UI通信,而AsyncTask则提供用于更新UI的回调。

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

Android开发人员教程有一个非常好的例子 如何使用AsyncTaskLoader 。你可以在这里找到它。

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

因此,异步任务更适合您的情况。

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

AsyncTask 只是在类中异步运行操作。

IntentService 运行一个新服务并执行您想要的操作。

使用 AsyncTask 会容易得多,因为您可以在活动中使用它,因此您可以从它运行到目标活动(注册者、用户区域等(的 Intent。

如果您使用IntentService,则必须创建活页夹,收集数据,监视数据等等。为此,IntentService将比其价值多得多。

最新更新