Android 减少在Parse.com中加载行的时间

Android 减少在Parse.com中加载行的时间,android,parse-platform,Android,Parse Platform,你好,我用Parse.com做了一个项目 这里我有一个名为“Channel”的表,在这个表中我有一个名为“users”的列,其中我从ParseUser表中保存了一些objectId。现在我正在从每个通道的ParseUser获取用户信息。但是这花费了太多时间(仅从ParseUser表中获取20行)。我的应用程序的流程如下所示: "Channel Table"->array= ["345sf3546","wrfc56645","ertrr6356"](objId of ParseUser) -

你好,我用Parse.com做了一个项目 这里我有一个名为“Channel”的表,在这个表中我有一个名为“users”的列,其中我从ParseUser表中保存了一些objectId。现在我正在从每个通道的ParseUser获取用户信息。但是这花费了太多时间(仅从ParseUser表中获取20行)。我的应用程序的流程如下所示:

"Channel Table"->array= ["345sf3546","wrfc56645","ertrr6356"](objId of ParseUser) ->fetching username and ParseFile from ParseUser Table for a particular channel.
我使用的代码是:

@Override
    protected String doInBackground(String... params) {

        if (ary_users!=null) {
         for (int i = 0; i < ary_users.size(); i++) {
             Log.d("Objid",">>"+ary_users.get(i));
             final  ParseQuery<ParseObject> query = ParseQuery.getQuery("_User");
                query.whereEqualTo("objectId",ary_users.get(i));

               try {
            ParseObject p =  query.getFirst();
                 if ((ParseFile)p.get("pic")!=null) {
                 pp = (ParseFile)p.get("pic");
                            }
                else {
                    pp = null;
                            }
                     if (pp!=null) {
                        url = pp.getUrl();
                    }
                     else
                     {
                         url = "";
                     }
             map = new HashMap<String, String>();
            map.put("OBJ_ID",p.getObjectId());
            map.put("NAME", p.getString("username"));
            map.put("IMG",url); 

            } catch (ParseException e1) {
                e1.printStackTrace();
            }
            ShowList.add(map);
        }   
        }
        return null;
    }
@覆盖
受保护的字符串doInBackground(字符串…参数){
如果(ary_用户!=null){
对于(int i=0;i>”+ary_users.get(i));
final ParseQuery=ParseQuery.getQuery(“_User”);
query.whereEqualTo(“objectId”,ari_users.get(i));
试一试{
ParseObject p=query.getFirst();
if((ParseFile)p.get(“pic”)!=null){
pp=(ParseFile)p.get(“pic”);
}
否则{
pp=null;
}
如果(pp!=null){
url=pp.getUrl();
}
其他的
{
url=“”;
}
map=新的HashMap();
put(“OBJ_ID”,p.getObjectId());
map.put(“NAME”,p.getString(“username”);
map.put(“IMG”,url);
}捕获(解析异常e1){
e1.printStackTrace();
}
添加(地图);
}   
}
返回null;
}

这里ary\U users是一个用户id数组,如下所示:[“345sf3546”、“wrfc56645”、“ertrr6356”]。请帮助我。我不知道如何减少此加载时间,仅获取15个用户需要>1分钟。

我将在数组中存储指向用户的指针,而不是存储objectID,Parse支持这一点,应该有帮助。谢谢你的回复。你能给我一些演示或链接来清楚地理解你的观点吗。只需创建一个类型为array的列(例如称为users)并在其中存储一个用户对象数组,就是这样。获取对象时,它还应返回用户对象。通读文档以了解您的选项概述。