Forum Clubic

[Java] Détruire une applet - Kill! Kill! Kill!

Bonjour,

Je suis en train de refaire mon site perso, et j’ai quelques problèmes avec l’intégration d’applets java : Tout le site tiens dans une seule page, la zone de données est chargée via AJAX + Destruction/Reconstruction de l’arbre DOM

Le problème est que les applets persistent sous IE/Firefox/Opera (i.e. Elles sont bien retirées de l’arbre DOM = On ne les voit plus, mais la conso. mémoire ne diminue pas, et au rechargement, elles ne repartent pas de l’état initial)

Quelqu’un connaît un moyen de forcer leur destruction?

Merci

C’est pas lié au garbage collector de java ça aussi?

si tu appel le garbage collector no ? un tit system.gc() ^^

C’est le browser qui laisse tourner le process de l’applet… Ce que je cherche c’est un équivalent du gc pour browser :wink:

Le gc de l’applet n’a pas d’action sur le contour de l’applet (i.e. le process dans lequel elle tourne)

Bonjour,
bon, c’est le browser qui termine mal l’applet quand on la retire de l’arbre DOM. Il n’y a pas moyen de recharger la page ou une iframe pour forcer le browser à détruire proprement cette applet?

sinon, c’est dans le code de l’applet que tu as le plus de chance de terminer proprement, (en consultant la page via du javascript par exemple, pour détecter le moment ou elle se termine)

Sinon, il y aurait moyen de tuer le Thread de l’applet depuis un autre Thread d’une autre applet, mais tu n’as aucune garantie que toutes les applets s’executent dans la même JVM, ni que le SecurityManager t’y autorise, donc c’est loin d’être le meilleur moyen.

Le but est justement de ne pas effectuer de rechargement :wink: J’ai déjà une version plus “traditionnelle” qui fonctionne très bien… Je change de page, l’applet est détruite

Je vais tenter ça… Avant retrait, un appel javascript->java pour forcer l’arrêt des threads (en gros, je vais appeler destroy() à la place du browser)

C’est clair :wink:

Merci pour tes idées