在Android应用程序中的Http网络问题

时间:2016-01-14 07:49:25

标签: android http android-asynctask

您好我正在开发一个Android应用程序。它是一种管式应用。

我面临一个问题。我的应用程序中有一个下载功能。当我开始下载一些内容然后在下载期间,如果我将创建任何其他网络连接,那么将花费更多时间。

对于下载,我使用了由服务处理的Asyntask。

对于简单的网络调用,我使用了Asyntask。

然后请建议我如何克服这个问题。

我的期望是如果下载正在进行中,那么如果我进行一些网络呼叫,那么此网络呼叫应该是高优先级。

请建议。

1 个答案:

答案 0 :(得分:2)

如果您使用的是asynctask,则可以尝试使用类似的方式设置当前线程的优先级。

protected void doInBackground() {
    Thread.currentThread().setPriority(Thread.MAX_PRIORITY);
    // download the things
}

Asynctasks通常优先级较低。你可以在这里阅读更多相关信息:

http://www.androiddesignpatterns.com/2014/01/thread-scheduling-in-android.html

如果您使用了很多HTTP请求,我建议您使用库,例如​​ Volley 。这使您可以轻松设置请求队列,并跳过队列以获得高优先级项目。

您可以在此处详细了解:

http://arnab.ch/blog/2013/08/asynchronous-http-requests-in-android-using-volley/