M mcmanu Active Member Licensed User Longtime User Mar 30, 2012 #1 Ich kann mein Programm nicht mehr Compilieren der Compiler sagt --> code too large Was kann ich machen? :sign0148:
Ich kann mein Programm nicht mehr Compilieren der Compiler sagt --> code too large Was kann ich machen? :sign0148:
H hogiebaer Active Member Licensed User Longtime User Mar 30, 2012 #2 Vermute einmal, dass Du eine Sub mit mehr wir 64KB Source hast. Das sind Grenzen vom Java. Wenn es so sein sollte, kannst Du ja versuchen, etwas zu optimieren, indem Du mehrere Subs anstatt eine grosse bedienst.
Vermute einmal, dass Du eine Sub mit mehr wir 64KB Source hast. Das sind Grenzen vom Java. Wenn es so sein sollte, kannst Du ja versuchen, etwas zu optimieren, indem Du mehrere Subs anstatt eine grosse bedienst.
M mcmanu Active Member Licensed User Longtime User Mar 30, 2012 #3 Danke Okay danke schon mal, ja eine sub von mir ist sehr groß, okay werds Probieren :/ Danke schonmal Kann man die Grenze nicht höher setzten? ich mein 64 kb ist echt Mikrig :BangHead:
Danke Okay danke schon mal, ja eine sub von mir ist sehr groß, okay werds Probieren :/ Danke schonmal Kann man die Grenze nicht höher setzten? ich mein 64 kb ist echt Mikrig :BangHead:
H hogiebaer Active Member Licensed User Longtime User Mar 30, 2012 #4 Nein leider nicht, da es an der Art der Adressierung liegt, die Android mit Java verbindet. Und da haben die wohl praktischerweise die max. Segmentgrösse zwecks Adressierung von 64KB übernommen. Das betrifft mit Sicherheit auch Datensegmente. Habs zwar noch nicht geschafft, ein solches Array zu generieren, aber ich vermute einmal, dass es auch dort diese Grenze gibt. Gruss Holger
Nein leider nicht, da es an der Art der Adressierung liegt, die Android mit Java verbindet. Und da haben die wohl praktischerweise die max. Segmentgrösse zwecks Adressierung von 64KB übernommen. Das betrifft mit Sicherheit auch Datensegmente. Habs zwar noch nicht geschafft, ein solches Array zu generieren, aber ich vermute einmal, dass es auch dort diese Grenze gibt. Gruss Holger
M mcmanu Active Member Licensed User Longtime User Mar 30, 2012 #5 Danke Okay Danke dir Für die Info Des ist echt mies, weil meine activity create wird bald auch riesig sein weil ich alle screen sizes Realisieren muss :BangHead:
Danke Okay Danke dir Für die Info Des ist echt mies, weil meine activity create wird bald auch riesig sein weil ich alle screen sizes Realisieren muss :BangHead:
J Jost aus Soest Active Member Licensed User Longtime User Mar 31, 2012 #6 mcmanu said: Des ist echt mies, weil meine activity create wird bald auch riesig sein Click to expand... 64 KB sind m. E. sehr viel und sollten für eine einzelne Sub mehr als ausreichend sein. Zum Vergleich: Klassisches VB hat eine Begrenzung von 64 KB pro Modul, d. h. längere Code-Module führen - ohne jede Vorwarnung! - oft zu seltsamen Fehlermeldungen in der IDE. Mein ernstgemeinter Tipp: In der strukturierten Programmierung ist es durchaus üblich, aus einer Sub heraus andere Subs aufzurufen... Als Faustregel gilt schließlich: Eine Sub sollte komplett auf eine Bildschirmseite passen. Bei "trivialen" Subs darf es natürlich trotzdem auch mal länger werden, aber 64 KB? Das entspricht ca. 32 DIN A4-Seiten!
mcmanu said: Des ist echt mies, weil meine activity create wird bald auch riesig sein Click to expand... 64 KB sind m. E. sehr viel und sollten für eine einzelne Sub mehr als ausreichend sein. Zum Vergleich: Klassisches VB hat eine Begrenzung von 64 KB pro Modul, d. h. längere Code-Module führen - ohne jede Vorwarnung! - oft zu seltsamen Fehlermeldungen in der IDE. Mein ernstgemeinter Tipp: In der strukturierten Programmierung ist es durchaus üblich, aus einer Sub heraus andere Subs aufzurufen... Als Faustregel gilt schließlich: Eine Sub sollte komplett auf eine Bildschirmseite passen. Bei "trivialen" Subs darf es natürlich trotzdem auch mal länger werden, aber 64 KB? Das entspricht ca. 32 DIN A4-Seiten!
H hogiebaer Active Member Licensed User Longtime User Mar 31, 2012 #7 mcmanu said: Okay Danke dir Für die Info Des ist echt mies, weil meine activity create wird bald auch riesig sein weil ich alle screen sizes Realisieren muss :BangHead: Click to expand... Aber wo liegt denn das Problem ? Gerade in der Activity Create sollte m.E. Ordnung herrschen. Wenn Du so viele verschiedene ScreenRes. handeln willst, dann geht das doch auch wunderbar über eigens generierte Funktionen (subs). SUB ACTIVITY_CREATE Init_Screens Init_Variablen Init_WerweissWasSonstNoch END SUB Bei mir gibts es dafür standardmässig schon mal eine eigene Sub, die ich dann aus der "Create" aufrufe Man kann JEDE Funktion soweit zerlegen, dass man sie wunderbar auf mehrere Subs auslagern kann.
mcmanu said: Okay Danke dir Für die Info Des ist echt mies, weil meine activity create wird bald auch riesig sein weil ich alle screen sizes Realisieren muss :BangHead: Click to expand... Aber wo liegt denn das Problem ? Gerade in der Activity Create sollte m.E. Ordnung herrschen. Wenn Du so viele verschiedene ScreenRes. handeln willst, dann geht das doch auch wunderbar über eigens generierte Funktionen (subs). SUB ACTIVITY_CREATE Init_Screens Init_Variablen Init_WerweissWasSonstNoch END SUB Bei mir gibts es dafür standardmässig schon mal eine eigene Sub, die ich dann aus der "Create" aufrufe Man kann JEDE Funktion soweit zerlegen, dass man sie wunderbar auf mehrere Subs auslagern kann.
M mcmanu Active Member Licensed User Longtime User Apr 15, 2012 #8 Danke Danke dafür Aber ich dachte es wäre nicht möglich views die man in der activity create erstellt in andere subs auszulagern, also bei mir funktioniert das nicht, bringt immer eine fehlermeldung
Danke Danke dafür Aber ich dachte es wäre nicht möglich views die man in der activity create erstellt in andere subs auszulagern, also bei mir funktioniert das nicht, bringt immer eine fehlermeldung
klaus Expert Licensed User Longtime User Apr 15, 2012 #9 Aber ich dachte es wäre nicht möglich views die man in der activity create erstellt in andere subs auszulagern, also bei mir funktioniert das nicht, bringt immer eine fehlermeldung. Click to expand... Welche Fehlermeldung ? Was meinst Du mit 'in der activity create erstellt' ? Sind die Views in einer Layoutdatei oder im Code definiert ? Wenn die Views in Sub Globals mit Dim definiert sind kannst Du sie überall im gleichen Activitymodul aufrufen und ändern. Wenn die Views im Code in die Activity hinzugefügt wurden müssen sie initialisiert werden. Beste Grüsse.
Aber ich dachte es wäre nicht möglich views die man in der activity create erstellt in andere subs auszulagern, also bei mir funktioniert das nicht, bringt immer eine fehlermeldung. Click to expand... Welche Fehlermeldung ? Was meinst Du mit 'in der activity create erstellt' ? Sind die Views in einer Layoutdatei oder im Code definiert ? Wenn die Views in Sub Globals mit Dim definiert sind kannst Du sie überall im gleichen Activitymodul aufrufen und ändern. Wenn die Views im Code in die Activity hinzugefügt wurden müssen sie initialisiert werden. Beste Grüsse.
M mcmanu Active Member Licensed User Longtime User Apr 15, 2012 #10 Hi Klaus Hat doch Funktioniert mit dem auslagern wusste gar nicht das des so super funkioniert habe sie im code erstellt und jede view wird initialisiert Dazu hätte ich eine frage, hoffe es ist okay wenn ich die hier stelle Gibt es eine Speicher begrenzung von Bitmaps die ich in der Activity lade? Habe alle bitmaps mit loadbitmapsample versehen so das es "keine" outofmemory exception wirft. Jedoch stürzt meine app beim starten manchmal ab und bekomme den stack trace --> bitmap size exceeds VM budget Ich verwende jpg und png dateien, sind ungefähr 160, größte file hat so in etwa 600 kb, viele andere aber nur unter 100 kb Deshalb meine frage ob es eine grenze gibt die man in activity_create nicht überschreiten darf?
Hi Klaus Hat doch Funktioniert mit dem auslagern wusste gar nicht das des so super funkioniert habe sie im code erstellt und jede view wird initialisiert Dazu hätte ich eine frage, hoffe es ist okay wenn ich die hier stelle Gibt es eine Speicher begrenzung von Bitmaps die ich in der Activity lade? Habe alle bitmaps mit loadbitmapsample versehen so das es "keine" outofmemory exception wirft. Jedoch stürzt meine app beim starten manchmal ab und bekomme den stack trace --> bitmap size exceeds VM budget Ich verwende jpg und png dateien, sind ungefähr 160, größte file hat so in etwa 600 kb, viele andere aber nur unter 100 kb Deshalb meine frage ob es eine grenze gibt die man in activity_create nicht überschreiten darf?
J Jost aus Soest Active Member Licensed User Longtime User Apr 15, 2012 #11 Dein Endprodukt sollte die 50 MB nicht überschreiten! Ansonsten: Feuer frei!
klaus Expert Licensed User Longtime User Apr 15, 2012 #12 Du kannst folgende Threads anschauen: How much memory available Out of memory, recycle Bitmap Der gebrauchte Speicherplatz für Bitmaps kann viel grösser sein als die Dateigrösse von jpg ode png Dateien denn intern sind die Bilder unkomprimiert gespeichert. Beste Grüsse.
Du kannst folgende Threads anschauen: How much memory available Out of memory, recycle Bitmap Der gebrauchte Speicherplatz für Bitmaps kann viel grösser sein als die Dateigrösse von jpg ode png Dateien denn intern sind die Bilder unkomprimiert gespeichert. Beste Grüsse.
M mcmanu Active Member Licensed User Longtime User Apr 15, 2012 #13 Danke Okay Danke euch beiden Meine bilddateien haben insgesamt 5mb Werd mir die Threads durchlesen Edit: Ich habe gemerkt das jedes mal wenn ich die app mit der back taste schließe und die app erneut starte mein ram um 10mb steigt Klar ist das es dann abstürzt irgentwann. Habe nun bei activity_pause das hier if userclosed=true then exitapplication end if Jedoch frage ich mich ob das eine elegante lösung ist? An den bitmaps lag es nicht Last edited: Apr 15, 2012
Danke Okay Danke euch beiden Meine bilddateien haben insgesamt 5mb Werd mir die Threads durchlesen Edit: Ich habe gemerkt das jedes mal wenn ich die app mit der back taste schließe und die app erneut starte mein ram um 10mb steigt Klar ist das es dann abstürzt irgentwann. Habe nun bei activity_pause das hier if userclosed=true then exitapplication end if Jedoch frage ich mich ob das eine elegante lösung ist? An den bitmaps lag es nicht