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)

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);
    		    	    }
Merci de m'éclairer.