Witam. Mój problem polega głównie, jak temat wskazuje, na zaoszczędzeniu pamięci w mojej aplikacji. Z racji tego, że aplikacja zawierać będzie sporo grafiki, jedna deklaracja tekstury powoduje (przynajmniej na moim komputerze, a jest on dość potężny) zużycie sięgające nawet 1Mb pamięci. Jest to wartość mała, jednak myśląc o przyszłych użytkownikach aplikacji i ogromie jej zasobów, zaczynam zastanawiać się nad oszczędnością pamięci. Boję się o to, że aplikacja będzie wymagać 2-4Gb Ramu, kiedy nie powinno być aż tyle wymagane. Poza tym szkoda pamięci, jeżeli gracz będzie np. grał, a w pamięci pozostaną tekstury z głównego menu.
W głównej pętli (dla przykładu) po kliknięciu klawisza wywołuje się metoda rysująca teksturę:
texture.draw(x, y, x2, y2, tekstura);
Zużycie pamięci przeskakuje wtedy z 29,8Mb na 31,6Mb w moim przypadku, a tekstura jest bardzo mała (8x128px). Samo jej narysowanie przez chwilę zużyło ~1,5Mb, jednak denerwuje mnie to, że zostaje ona w pamięci, bo mimo, iż użytkownik nie trzyma klawisza, zużycie utrzymuje się na poziomie ~31-32 Mb.
Pytanie moje nasuwa się jak usunąć ją z pamięci tymczasowej, wyłączyć na chwilę, bądź dezaktywować i aktywować w dowolnym momencie, a może nie potrzebnie się martwię? Proszę, naprostujcie moje przemyślenia, bo nie chciałbym zacząć się o to martwić kończąc kod.
(Korzystam z LWJGL / Slick-Util)