Как можно оптимизировать эту часть кода?Java,socket

162
16 ноября 2018, 06:40

Я принимаю изображение и рисую его в окне но с каждым нарисованным изображением памяти жрёт всё больше и больше.При долгой работе вообще отказывает и выдаёт сломанную картинку. Вот сам код:

import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.Socket;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
public class VideoChannel {
BufferedImage img;
JFrame frame;
Graphics g;
boolean easy=true;
Bridge br;
Socket accep;
PrintWriter out;
    public VideoChannel(Socket accep,Bridge br,AdapterServer server) throws IOException{
        createFrame();
        server.isVideo = true;
        this.br = br;
        out = new PrintWriter(accep.getOutputStream());
        this.accep = accep;try{
        while(server.isVideo){
            g.drawImage(ImageIO.read(ImageIO.createImageInputStream(accep.getInputStream())),0,0,800,600,null);out.println("1");out.flush();}
        }catch(Exception e){System.out.println(e);disconnect();}
  disconnect();
    }
    private void createFrame() {
        System.out.println("Запущен видео канал");
      frame = new JFrame();
   frame.setSize(800,600);
   frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
   frame.setTitle("Image");
   frame.setResizable(false);
   frame.setVisible(true);
    g = frame.getGraphics();
    }
    public void disconnect(){System.out.println("Выключен канал видео");br.VideosO();
    easy = false;
    frame.dispose();
    g.dispose();
    frame = null;
    g = null;
    img = null;
    try {accep.close();} catch (IOException ex) {}
    System.gc();
    }
}

Также после вызова функции disconnect() память не очищается и остаётся заполненной.

READ ALSO
Flex позиционирование блоков

Flex позиционирование блоков

Народ как с помощью flex расположить блоки помечены красними рамками в таком порядке как на картинке?

175
ошибка в сафари decodeAudioData

ошибка в сафари decodeAudioData

Есть функиця декодирования аудиофайла

175
Как отображать нужные мне компоненты

Как отображать нужные мне компоненты

Есть компонент TaskList в нем отрисовывается несколько TaskЗадача - отрисовывать по клику разные обьекты массива

158
Альтернатива кода JQuery на чистом JavaScript

Альтернатива кода JQuery на чистом JavaScript

ЗдравстуйтеЕсть рабочий скрипт написанный на JQuery высветляющий значение "No Results" при введении в input несуществующего значения в таблице("Живой...

177