Je suis en train de realiser une application en temps reelle qui a besoin de rafraichir la tableview en permanence. Le soucis c'est que pour une raison que j'ignore cela consomme de la memoire.
J'ai essaye d'utiliser @autoreleasepool mais ca n'a aucun effet.
En fouillant sur le net, j'ai trouve une personne ayant eut le meme soucis que moi:
le problème vient très probablement de ce que tu fais dans tes méthodes de datasource. Si tu scrolled, même problème de mémoire ? Si c’est le cas c’est peut être que tu reuse pas tes cells
On affiche entre 1 a 7 lignes donc pas de scoll >>> Agrandis la taille des cellules, dupliques les data, y'a plein de solutions pour voir ce que ça fait lors d'un scroll.
Voici la methode qui manipule les cell: >>> Ça a l'air correct.
Ton site chinois j'ai pas trop compris ce qu'il conseillait de faire. Toutefois, ça m'a plus l'air d'être un workaround pour éviter de provoquer la fuite mémoire qu'une solution pour corriger la fuite mémoire.
D'apres ce que j'ai compris du site japonais (et non chinois ^^) Il ne faut pas utiliser "reloadData" si l'on souhaite mettre a jour la table view dans un contexte de realtime.
Il propose plutot de faire une boucle sur les cellules (visible) du tableau via sa methode: updateVisibleCells
De mon cote, ca fonctionne. Je n'ai plus d'augmentation de la consommation de la memoire.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.