Bonjour,
Le code d'une app provoque de gros lags et plantages.
J'ai identifié la ligne provoquant cela, il s'agit de
String value = jsonObject.getString(key);
Ce script récupère des milliers de communes de France, donc cette ligne est appelée autant de fois... la mémoire sature peu à peu jusqu'au plantage mais je ne comprends pas pourquoi cela agit ainsi.
(je ne suis pas l'auteur de cette app et suis débutant en dév)
Merci de m'éclairer.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 jsonObject = json.init(Config.COMMUNES_URL); Iterator iter = jsonObject.keys(); while(iter.hasNext()){ String key = (String)iter.next(); String value = jsonObject.getString(key); // provoque bug, out of memory JSONObject jsonCommunes = new JSONObject(value); Iterator iterCommunes = jsonCommunes.keys(); Commune commune = new Commune(); while(iterCommunes.hasNext()){ String keyCommune = (String)iterCommunes.next(); String valueCommune = jsonCommunes.getString(keyCommune); if(keyCommune.equalsIgnoreCase("com_id")) commune.setId(valueCommune); if(keyCommune.equalsIgnoreCase("com_libelle")) commune.setLibelle(valueCommune); if(keyCommune.equalsIgnoreCase("com_latitude")) commune.setLatitude(valueCommune); if(keyCommune.equalsIgnoreCase("com_longitude")) commune.setLongitude(valueCommune); } communesList.add(commune); }
Partager