bonjour,
Je viens de modifier 2 petites choses dans un programme et voilà qui plante au bout de 3 jours.
Il y a un thread qui fait des opérations sur des bufferedImage.
J'avais :
pas de problème
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 public BufferedImage buffer1 = null; public BufferedImage buffer2 = null; public BufferedImage buffer3 = null; public void run() { while(....) { buffer1 = capt.newBuffer(); buffer2 = capt.newBuffer(); buffer3 = capt.newBuffer(); } }
puis j'ai fait cela :
Est ce que ma fonction newBufferedImage peut provoquer un outofmemory ?
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
16
17
18
19
20 public BufferedImage buffer1 = null; public BufferedImage buffer2 = null; public BufferedImage buffer3 = null; public void run() { while(....) { buffer1 = newBufferedImage(tab1,w,h); buffer2 = newBufferedImage(tab2,w,h); buffer3 = newBufferedImage(tab3,w,h); } public BufferedImage newBufferedImage(int[] tab,w,h) { BufferedImage bufIm = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB); bufIm.setRGB(0,0,w,h,tab,0,w); return bufIm; } }
Est ce qu'il faut mettre buffer1 = null;buffer2 = null;buffer3 = null à chaque passage pour libérer la mémoire ? Perso, je pensais que dans mon cas ça écrasait.
Merci d'avance de votre aide
Partager