g_fuck
Messages postés269Date d'inscriptionlundi 29 novembre 2004StatutMembreDernière intervention23 août 2011
-
29 août 2006 à 18:15
sheorogath
Messages postés2448Date d'inscriptionsamedi 21 février 2004StatutModérateurDernière intervention29 janvier 2010
-
31 août 2006 à 15:44
salut!!! j'ai une emmerde!!!
vous est il deja arrive d'avoir une application qui sur son lancement , marche comme sur des roulettes et que petit a petit le deroulement des Events se mette a ralentir jusqu'a un point ou tout stop?
est ce que un grand nombre de variable est capable de provoquer un truc pareil?
g_fuck
Messages postés269Date d'inscriptionlundi 29 novembre 2004StatutMembreDernière intervention23 août 2011 30 août 2006 à 15:52
des threads non je n'en utilises pas .... boucles je sais pas trop ce que c'est mais je croix que le programme utilise beaucoups de variables ... je verais dans cette direction.
encore une chause .... est ce que la commande setVisible(false) est suffisante pour effacer un JFrame de la memoir? est si oui est ce que toutes ses composantes sont elles aussi detruites?
Twinuts
Messages postés5375Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention14 juin 2023111 30 août 2006 à 16:21
Salut,
Concernant la mémoire qui monte ce n'est pas un type primitif (int, float, etc..) qui va te la faire monter mais plus des BuffuredImage, Vector, ArrayList, ... qui peuvent vite prendre un max de ressourcesou encore si tu fais ce qui suit :
lors d'un appui sur un boutton tu creer une nouvelle fenetre et tu l'affiche (new Fenetre(...).setVisible(true)) et que pour la detruire tu fais setVisible(false) ici tu ne detruira absolument rien de ta fenetre et des que tu ferras un autre clic sur le bouton tu vas creer une nouvelle instance donc occuper encore plus de mémoire sans avoir libéré la fenetre precedente que tu pensais détruite... il existe 2 solutions pour eviter ce genre de problème :
1 - n'utilise pas la methode setVisible(false) pour detruire une fenetre mais dispose qui liberera les ressources utilisé
2 - ne reinstancie pas une fenetre (ou dialog, jdialog, frame, jwindow, window) mais favorise plus une instance unique(sauf si tu n'as pas le choix bien entendu) exemple avec la classe Test qui contient 2 boutons 1 pour afficher une JFrame et un pour la detruire