Je rencontre un problème de mémoire avec les navigateurs webkit sur Windows avec mon projet actuel. Je vais d'abord décrire le projet sur lequel je travaille, puis décrire le problème actuel. Veuillez m'excuser pour le texte long, j'espère que ce n'est pas trop ..Problème de mémoire: Webkit met-il en cache les styles CSS des éléments?
Je travaille sur un projet qui vous permet de visualiser un magazine imprimé en ligne. Pour le support de l'iPad, il est fait en HTML/CSS/JS (Mootools), pas en Flash. Fondamentalement, il montre une double page à la fois, en chargeant de nouvelles via JSON. Cette double page est essentiellement une div contenant une image et éventuellement des éléments supplémentaires. Lorsqu'une page double est hors de vue, son conteneur-div est retiré du DOM après que toutes les images ont été "déchargées" en définissant leur "src" sur un jpg blanc 1px, et aussi j'essaie d'annuler et de supprimer toutes les propriétés sur le div avant qu'il ne soit retiré du DOM. Firefox, Opera et IE font le déchargement correctement, et je peux voir que l'utilisation de la RAM reste à peu près la même, peu importe le nombre de pages que je visualise - les nouvelles pages sont chargées, les anciennes sont chargées. Ou au moins vous voyez que de temps en temps la mémoire est libérée jusqu'à la valeur normale, probablement par le garbage collection. En revanche, Safari et Chrome ne libèrent aucune mémoire et l'utilisation de la mémoire augmente avec chaque nouvelle page consultée. La mémoire est donc de plus en plus remplie, probablement jusqu'à ce qu'il n'y en ait plus. Lorsque vous revenez et affichez les pages déjà chargées, l'utilisation de la mémoire reste la même. Maintenant, je pensais que la mémoire est utilisée pour mettre en cache les images chargées d'une certaine manière, mais j'ai compris que lorsque vous désactivez les styles dans le menu développeur de Safari, l'utilisation de la RAM tombe toujours à la même valeur "normale" , peu importe ce que c'était auparavant. Cela signifie: Si vous affichez un certain nombre de pages et que Safari se remplit, disons 500 Mo de RAM, et que vous désactivez les styles, l'utilisation de la RAM chute à ~ 120 Mo. Maintenant, si vous affichez encore plus de pages, et laissez Safari occuper plus de 1 Go de RAM, et vous désactivez les styles, à nouveau l'utilisation de la RAM tombe à environ 120 Mo. Par conséquent, je conclus que la RAM n'est pas utilisée par les données d'image, mais par des données liées au style d'une certaine sorte. Et c'est pour moi une sorcellerie ou un vodou: je ne sais vraiment pas comment aborder le problème à partir de maintenant. J'ai des difficultés à étudier le problème, et peut-être que je ne l'ai même pas encore identifié.
Cela semble être un bug dans Webkit, avez-vous posté un rapport de bug sur leur bug tracker: https://bugs.webkit.org/? Vous pouvez également essayer les listes de diffusion WebKit, car les gens auront probablement plus d'informations sur les problèmes possibles que les visiteurs de SO. –
Je n'ai pas posté de rapport de bug, et je ne peux pas vraiment dire s'il s'agit d'un bug ou non. Je devrais mettre en place un cas de test. Je devrais en effet m'impliquer dans les listes de diffusion de webkit, merci pour l'idée. – loopmode