提高数据通话的速度性能

时间:2013-08-12 19:05:51

标签: android performance

我正在从android应用程序对Web服务进行API调用,问题是它返回大约22000条记录,我将每个记录转换为一个对象后将其加载到一个数组中,然后将该数组分配给ListView。从Web服务获取此数据的最快/最佳方法是什么? (缓冲) ?以及针对此类问题的最佳做法是什么。

1 个答案:

答案 0 :(得分:2)

我建议使用库来处理数据通话......

请尝试使用Android Query;具体来说,请参阅标题为Asynchronous Network的部分。

这个AQuery库( AndroidQuery )是轻量级的,只需要1个jar的SMALL jar文件。它也可以与Maven或Gradle Android项目一起使用。它允许您以异步或同步方式轻松地从远程服务器获取XML或JSON数据。我已经多次使用它与JSON后端,它是一个真正的节省时间。

此库还允许您指定在网络下载过程中自动显示和消失的 ProgressBar

以下是异步HTTP调用JSON后端的示例:

public void asyncJson(){

    //perform a Google search in just a few lines of code

    String url = "http://www.google.com/uds/GnewsSearch?q=Obama&v=1.0";
    aq.ajax(url, JSONObject.class, this, "jsonCallback");

}

public void jsonCallback(String url, JSONObject json, AjaxStatus status) {

    if(json != null) {
            //successful ajax call
    } else {
            //ajax error
    }

}

AQuery还可以简化Android编程的其他方面(例如在许多场景中消除findViewById()调用)。