解析本地数据存储区查询需要在Android上花费时间

时间:2014-10-29 11:50:50

标签: android parse-platform

我第一次寄托物。下次我尝试获取相同的对象时,有时需要5到6秒的时间,此时屏幕变为空白。

这是我的固定代码。 (从本地存储中固定和查询数据都在解析中的同一个表上完成)

ParseQuery<ParseObject> query = ParseQuery.getQuery(PARSE_IMAGE_TABLE);
List<ParseObject> images = query.find();

for each image i get i do following:

parseObject.pinInBackground(PARSE_PIN_WALLPAPER_INFO,
                            new SaveCallback() {

                                @Override
                                public void done(ParseException arg0) {
                                    System.out.println();

                                }
                            });

查询时:

ParseQuery<ParseObject> query = ParseQuery.getQuery(PARSE_IMAGE_TABLE);
        query.whereEqualTo(PARSE_IMAGE_THUMB_URL, imageURL);
        query.fromLocalDatastore();
        query.fromPin();

List<ParseObject> images = query.find(); -- this call takes time

1 个答案:

答案 0 :(得分:1)

是的,他们在您的代码中可以进行大量的性能调整。 固定对象列表是更快更好的方法。

而不是使用find查询使用findInBackground。

也开始使用pin(String name)和fromPin(String name)而不是fromPin()和fromPin(String name)。如果您的解析本地存储中有很多行,这会有很大的优势。