我有一个 android 应用程序,其中解析一个 json 块大约需要 250 毫秒。它包含一个数组,我只需要立即可用的前 6-7 个值。我真的需要加快获取这些数据的速度。
我有一个基本上看起来像这样的数据结构:
class Data {
List<Map> data = objectmapper_readvalue_data;
public HashMap getItem(int i) {
return data.get(i);
}
}
我真的希望用 JsonParser 做这样的事情:class Data { List data = new List(); JsonParser p;
public HashMap getItem(int i) {
while (data.length < i) {
data.append(p.parseOneBlockOfData());
}
return data.get(i);
}
}
在第一次渲染时只会解析前 5-6 个值,其他的我可以稍后处理。但是,我缺少“parseOneBlockOfData”函数。当然,我可以使用 StringBuilder 来缓冲解析中的每个值,直到找到下一个完整块,然后使用 objectParser 之类的,但我不确定性能会如何。
有没有任何非黑客的方式来做到这一点?