嗨,我正在开发一个android应用程序。这是一个你管类型的应用程序。
我面临一个问题。我的应用程序中有一个下载功能。当我开始下载一些内容时,在下载过程中,如果我要创建任何其他网络连接,则需要更多时间。
对于下载,我使用了一个由服务处理的Asyntask。
对于简单的网络通话,我使用了Asyntask。
那么,请建议我如何克服这个问题。
我的期望是,如果下载正在进行中,那么如果我打了一些网络电话,那么这个网络电话应该是高优先级的。
请提出建议。
如果使用asynctask
,可以尝试使用类似的方法设置当前线程的优先级。
protected void doInBackground() {
Thread.currentThread().setPriority(Thread.MAX_PRIORITY);
// download the things
}
CCD_ 2通常具有较低的优先级。你可以在这里阅读更多信息:
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/