Jak to ograniczyć?

0

Witam! Piszę pewny program, ale strasznie zasobożerny. Kiedy jest "w spoczynku" to bierze 3-4 K. Kiedy się kliknie na okno, zrobi screena i "wyskoczy" okno zapisu, wzrasta do 26-27K. Potem za każdym kolejnym screenem wzrasta o 1K. To źle, że program jest taki zasobożerny. Czy gdybym przerzucił się z Swinga na JavaFX, gdzie większość deklaruje się w pliku nie w kodzie, to byłby lepszy wynik?

1

Nie

0
jarekr000000 napisał(a):

Nie

Kurcze... Dlaczego?
Poza tym, dodałem funkcję "clearCache()", która do końca nie działa. Program działa tak, że po kliknięciu na okno, ma się wywołać metoda saveScreenShot(). Tam robot robi screena, i ImageIO zapisuje go. Wybieranie pliku odbywa się za pomocą JFileChoosera (metoda saveFileDialog). clearCache, daje wartość wszystkich obiektów na null. Ale to nic nie daje ;-;. Jak mogę z tego wybrnąć? Program mam zamiar rozwijać, a z takim okropnym wynikiem nici z tego...

0

Serio martwisz się o 27K w programie "użytkowym", to nie jest tragedia.
Zobacz, ile np. paint zjada.
Problem zaczyna się, jak masz 16GB i nie starczy :)

0
Black007 napisał(a):

Serio martwisz się o 27K w programie "użytkowym", to nie jest tragedia.
Zobacz, ile np. paint zjada.
Problem zaczyna się, jak masz 16GB i nie starczy :)

Paint zjada zaledwie 7k. A on ma duże okno i wiele więcej funkcji niż mój program...

0

Co to jest te k bo nie kojarzę tej jednostki?

0
axelbest napisał(a):

Co to jest te k bo nie kojarzę tej jednostki?

title

Zapewne chodzi o Kilobajty...

0

Java przy 27kb zużycia pamięci wcale jej nie czyści. Jest to tak mało, że nie ma takiej potrzeby. Dopiero gdy osiągniesz określony procent narzuconego limitu pamięci, GC zacznie działać. Dlatego nie możesz na ten moment ocenić, czy Twój program jest wydajny pamięciowo. Ustawianie limitu na mniej niż 5mb też raczej mija się z celem, kogo dzisiaj obchodzą takie małe liczby? Nie przejmuj się tym.

0

No ok... A co to jest to GC?

GC to garbage collector. W Javie nie zarządzasz sam pamięcią, on to robi za ciebie. Kiedy myślisz nad optymalizacją zużycia pamięci w Javie, zawsze musisz brać go pod uwagę. Tutaj jest to trochę wytłumaczone:
https://bottega.com.pl/pdf/materialy/jvm/jvm2.pdf

0
Jaca777 napisał(a):

No ok... A co to jest to GC?

GC to garbage collector. W Javie nie zarządzasz sam pamięcią, on to robi za ciebie. Kiedy myślisz nad optymalizacją zużycia pamięci w Javie, zawsze musisz brać go pod uwagę. Tutaj jest to trochę wytłumaczone:
https://bottega.com.pl/pdf/materialy/jvm/jvm2.pdf

title

Prosz! To jest ile mniej więcej u mnie programy biorą! To według mnie dużo...

0

Prosz! To jest ile mniej więcej u mnie programy biorą! To według mnie dużo...

No 27k kb w Twoim przypadku to może być całkiem sporo, ale domyślne Xmx to 1/4 całej pamięci ram. Jeśli to Ci nie pasuje, to możesz to po prostu zmienić.

0

Myślę, że wróżka Ci pomoże.

Jeżeli wkleisz kod to może ktoś na forum. Stawiam, że robisz głupie rzeczy w kodzie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1