Cześć, pracuję nad małą aplikacją użytkową, trzy-cztery okna, tray oraz kilka krótkich funkcji.
Właśnie skończyłem fazę projektowania okien i zainteresowało mnie zjadanie pamięci. Program zawsze uruchamia się w trayu.
Tuż po uruchomieniu, nic nie klikane:
PPM na tray, PopMenu i otworzenie okna z jego poziomu:
Otworzenie drugiego okna z poziomu pierwszego:
Myślę sobie: OK, nie jest tak źle. Zamykam więc okna i wracam do traya.
Powtarzam powyższe operacje:
I zamykamy do traya:
Korzystam z WindowBuildera do Eclipse, aby projektować okna.
Tak wygląda pusty jFrame:
public class Window {
public JFrame frame;
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
Window window = new Window();
window.frame.setVisible(true);
}
});
}
public Window() {
initialize();
}
private void initialize() {
frame = new JFrame();
frame.setBounds(100, 100, 250, 350);
frame.setDefaultCloseOperation(frame.DISPOSE_ON_CLOSE); //tak zamykam każde okno
}
Okna otwieram przez
frame.setVisible(true)
Wracając do sedna: czy Java jest rzeczywiście taka ciężka czy tylko mam złudzenia? (ewentualnie piszę niepoprawny kod)
Dwa okna, kilka jpaneli i to wszystko. Niby 50MB pamięci to nie dużo w dzisiejszych czasach, ale jednak na tak małą aplikacje (nic kodu ponad Popupmenu, zero niczego, nawet ikonki w trayu nie mam ustawionej), to jest już coś.