J2ME Problem z pamięcią

0

Witam!

Piszę sporą objętościowo aplikację w J2ME i gdy przekroczyłem 64KB kodu po uruchomieniu w Wireless Toolkit wywaliło mi komunikat o przekroczeni maksymalnej długości kodu: Uncaught exception java/lang/OutOfMemoryError: Aplication_Beta: Maximum byte code length (32kB) exceeded .
Po instalacji w telefonie program działa bez problemu.

Najwięcej miejsca w kodzie zajmują tablice zawierające dane (5-10KB każda). Czy umieszczenie ich w oddzielnych plikach .java i wczytywanie tylko gdy są potrzebne rozwiązało by problem? Jeśli tak, prosiłbym o jakieś sugestie jakimi poleceniami mógłbym to zrobić?
Czy jest może jakiś prostszy sposób jak to rozwiązać?

0

Dla Javy SE ilość pamięci można zwiększyc tak java -Xmsnnnn nazwa_programu nnnn, to rozmiar pamięci w bajtack (z k na końcu w kilobajtach, z w megabajtach). Może w JME też zadziała.</b>

0

Niestety nic to nie dało, nawet nie chciało się kompilować.

0

Nie rozumiem, jaki związek z kompilacją ma polecenie java -Xms ..... ???

0

Ok, głupotę zrobiłem. Ale teraz po przetestowaniu każdej możliwości i tak nic to nie dało.
Dużo lepszym rozwiązanie byłoby to opisane przeze mnie powyżej (tj. przeniesienie obszernych tablic do innych plików i pobieranie tylko tych potrzebnych chwilowo aplikacji). Czytam i kombinuje cały czas, ale w dalszym ciągu nie wiem jak wczytać tablicę (lub odnieść się do niej) z innego pliku .java

0

Z innego pliku czy z innej klasy?

public class Main
{
    private InnaKlasa inna;
    public static void main(String[] arga)
    {
         new Main();
     }
     public Nain()
     {
         ......
         inna=new InnaKlasa();
     }
     .....
     inna.getCosTam();  jeżeli składowa jest prywatna
     inna.cosInnego;  jeżeli składowa jest public
}
public class InnaKlasa
{
     ....
}
0

Udało się, bardzo dziękuję za pomoc.

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