Android解析SDK问题
我正在使用parse来存储数据,并在使用程序时进行大量查询。 问题是,在大约+/-20次类似的查询之后,parse findInBackground或getFirstInBackground不会返回回调,应用程序会卡在该位置 我的查询代码:Android解析SDK问题,android,parse-platform,Android,Parse Platform,我正在使用parse来存储数据,并在使用程序时进行大量查询。 问题是,在大约+/-20次类似的查询之后,parse findInBackground或getFirstInBackground不会返回回调,应用程序会卡在该位置 我的查询代码: ParseQuery<OptionCodeDTO> mQuery; mQuery = ParseQuery.getQuery(OptionCodeDTO.class); mQuery.whereEqualTo("code", pr
ParseQuery<OptionCodeDTO> mQuery;
mQuery = ParseQuery.getQuery(OptionCodeDTO.class);
mQuery.whereEqualTo("code", prCode);
mQuery.getFirstInBackground(new GetCallback<OptionCodeDTO>() {
@Override
public void done(OptionCodeDTO optionCodeDTO, ParseException e) {
if (isVisible()) {
if (e == null) {
OptionCode opCode = new OptionCode(optionCodeDTO);
mCodes.push(opCode);
printCodes();
prDescrLayout.setVisibility(View.VISIBLE);
prDescProgress.setVisibility(View.GONE);
mPRLable.setVisibility(View.GONE);
} else {
if (e.getCode() == ParseException.CONNECTION_FAILED) {
mPrDescr.setText(R.string.dtc_lookup_check_network);
} else if (e.getCode() == ParseException.OBJECT_NOT_FOUND) {
mPrDescr.setText(R.string.pr_lookup_code_not_found);
} else {
mPrDescr.setText(R.string.dtc_lookup_other_problems);
}
prDescrLayout.setVisibility(View.VISIBLE);
prDescProgress.setVisibility(View.GONE);
}
}
}
});
首先,如果您的应用程序因为UI线程依赖于后台线程而没有响应,这是不正确的体系结构 也许你必须优化你的应用程序与Parse的交互。通常,在后台进行大量存储是一种不好的做法,例如从循环内部进行存储。您可以将需要保存的对象添加到列表中,然后使用ParseObject.saveAllInBackgroundobjectList 优化的另一个想法是使用本地存储——android内置的SQLite。例如,如果您的应用程序依赖于要保存以进行解析的内容,则逻辑如下: 首先保存对象时,保存到本地数据库并运行saveInBackground方法 获取对象时,首先从本地数据库获取,然后运行getInBackground方法,该方法在回调中将信息持久化到本地数据库
这样,您的应用程序就可以在没有互联网连接的情况下使用 您运行查询的速度有多快?除非您升级了计划,否则突发限制为每秒30个请求。通过解析分析性能,我们甚至无法达到每秒2个请求