Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Android上解析本地数据存储查询需要时间_Android_Parse Platform - Fatal编程技术网

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

在Android上解析本地数据存储查询需要时间,android,parse-platform,Android,Parse Platform,我第一次钉住了这个物体。下一次我尝试获取相同的对象时,有时需要5到6秒的时间,此时屏幕变为空白 这是我的固定代码。(在解析过程中,在同一个表上对本地存储中的数据进行固定和查询) ParseQuery query=ParseQuery.getQuery(PARSE\u IMAGE\u表); List images=query.find(); 对于我得到的每个图像,我都会执行以下操作: parseObject.pinInBackground(解析PIN壁纸信息, 新的SaveCallback(){

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

这是我的固定代码。(在解析过程中,在同一个表上对本地存储中的数据进行固定和查询)

ParseQuery query=ParseQuery.getQuery(PARSE\u IMAGE\u表);
List images=query.find();
对于我得到的每个图像,我都会执行以下操作:
parseObject.pinInBackground(解析PIN壁纸信息,
新的SaveCallback(){
@凌驾
已完成公共作废(语法异常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
ParseQuery query=ParseQuery.getQuery(PARSE\u IMAGE\u表);
query.whereEqualTo(解析图片链接,图片链接);
query.fromLocalDatastore();
query.fromPin();
列表图像=query.find();--这个电话需要时间

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

使用findInBackground代替find查询


还可以开始使用pin(字符串名称)和fromPin(字符串名称),而不是fromPin()和fromPin(字符串名称)。如果您的解析本地存储中有很多行,这将具有巨大的优势。

想知道在后台固定单个解析对象和解析对象列表之间是否存在性能差异。因为在《关于代码》中,我并没有将单个对象固定在一起,而是将列表固定在一起,这使得它有点快。。。“不知道”此时,钉扎是一个严重的性能问题。在我的例子中,我使用了
pinAllInBackground
,并观察到在后台进行钉扎时所有查询都被锁定。在iPhone5上等待锁释放大约需要4-5秒。
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