2013-03-29 2 views
0

я в настоящее время разбора JSON и получил следующий фрагмент кода:Android getJSONObject производительности при разборе

boolean suf = list.getJSONObject(i).getBoolean("sufficient"); 
String grade = list.getJSONObject(i).getString("grade"); 
String id= list.getJSONObject(i).getString("id"); 

мне интересно, если несколько раз вызывая getJSONObject создает накладные расходы приводят к увеличению времени обработки.

Будет ли это быстрее и/или лучше, например?

JSONObject object = list.getJSONObject(i); 
boolean suf = object.getBoolean("sufficient"); 
String grade = object).getString("grade"); 
String id= object.getString("id"); 

Это вводит новый объект, но будут ли следующие 3 вызова делать компромисс?

Поскольку я показываю диалог, информирующий пользователя о загрузке (и, следовательно, они не могут предпринимать никаких действий), я хотел бы свести к минимуму время ожидания для пользователя.

ответ

0

2-й вариант - как я обычно делаю. Но вы вряд ли увидите какое-либо уведомление о производительности. list.getJSONObject (i) .getBoolean («достаточный»); создает временный объект и получает значение. Теперь дни, компиляторы достаточно умны, чтобы хранить эти временные объекты на всякий случай. Даже если они этого не делают, если вы не обрабатываете несколько миллионов jsonobjs в своем «списке», я не вижу никакого влияния на производительность.

Смежные вопросы