Salut a tous
Alors voila je viens vous faire part d'un soucis/bug que j'ai rencontré hier et que je ne sais pas comment changer.
Dans le cadre d'un jeu, je dois rechercher des mots, j'ai donc utilisé un patricia/radix trie, en utilisant cette lib : http://code.google.c.../patricia-trie/
et cette partie de code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 String PATH = Environment.getExternalStorageDirectory()+ "/Boggle/"; LexiconTrie.loadDictionnary(PATH+"dictionnary.txt");
avec LexiconTrie qui à import le jar plus haut et qui a comme methode load :
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 public static void loadDictionnary(String file) { File dictionnary = new File(file); //la classe File n'est pas celle de java mais une redefinie, avec notamment la methode importData ArrayList<String> words = dictionnary.importData(); // On crée l'arbre en lui spécifiant qu'il doit analyser les clés en tant que string LexiconTrie.trie = new PatriciaTrie<String,String>(new StringKeyAnalyzer()); Iterator<String> it = words.iterator(); while(it.hasNext()) LexiconTrie.addWord(it.next()); // On ajoute un mot à l'arbre }
et le loadDico part en vrille en fait, le dico fait 4Mo mais quand il arrive au load, la ram monte a plus de 40 Mo, me processeur tourne a 80% (sur SGS) pendant plus de 5min puis se fait killer par l'os, donc si quelqu'un a une facon d'utiliser ces arbres de maniere efficace sur android , merci :s (je precise que sur ordi en java, par contre 0 problemes avec un algo de ce type)
Après debug aproffondi, le fichier est bien lu, les mots bien extraits, il les lis bien un apres l'autre et les ajoute par contre c'est le parcours et l'ajout de la globalité au patricie trie qui demande beaucoup trop de ressources apparemment, un moyen d'aider ?
merci d'avance !![]()
Partager