Для целей тестирования я поставил следующий код в OnCreate() одного из видов деятельности:Q: Parse.com запрос счетчика стабильность
// Create 50 objects
for (int i = 0; i < 50; i++) {
ParseObject obj = new ParseObject("test_obj");
obj.put("foo", "bar");
try {
obj.save();
} catch (ParseException pe) {
Log.d("Parsetest", "Failed to save " + pe.toString());
}
}
// Count them
for (int i = 0; i < 10; i ++) {
ParseQuery<ParseObject> query = ParseQuery.getQuery("test_obj");
query.countInBackground(new CountCallback() {
@Override
public void done(int count, ParseException e) {
if (e == null) {
Log.d("Parsetest", "Background found " + count + " objects");
} else {
Log.d("Parsetest", "Query issue" + e.toString());
}
}
});
}
Я бы ожидать, что граф будет всегда пятьдесят, однако работает этот код доходности что-то вроде:
D/Parsetest(17761): Background found 0 objects
D/Parsetest(17761): Background found 0 objects
D/Parsetest(17761): Background found 0 objects
D/Parsetest(17761): Background found 0 objects
D/Parsetest(17761): Background found 0 objects
D/Parsetest(17761): Background found 0 objects
D/Parsetest(17761): Background found 50 objects
D/Parsetest(17761): Background found 0 objects
D/Parsetest(17761): Background found 0 objects
D/Parsetest(17761): Background found 0 objects
Может кто-нибудь объяснить это поведение и как исправить это?
Существует не так много кода, за исключением пластины котла Android. Выполнение счета в цикле просто иллюстрирует, что счет ведет себя неустойчиво/ненадежно. Такое же поведение существует при выполнении нескольких вызовов (так что даже с заполненной базой данных). И то же самое происходит при выполнении всего полностью синхронного. И рядом с этим я нигде не упоминал о размерах, которые могут вызвать какое-либо отношение. –
Что произойдет, если вы выполняете только один запрос счетчика? Он работает каждый раз?Я не удивлюсь, если у Parse есть меры предосторожности, чтобы ограничить внезапный всплеск операций подсчета от одного и того же клиента, учитывая то, как дорогостоящие операции счета. Возможно, это так, так как 1 из 10 работает – Russell
Вы также можете просмотреть эту ссылку, если вы еще не встретили ее. Я обновлю ответ с отрывком. https://groups.google.com/forum/#!topic/parse-developers/1GOv37oTY2k – Russell