LordZenzo Well-Known Member Licensed User Longtime User Apr 5, 2017 #1 sto usando la GameView per un mio gioco di SlotMachine siccome il gioco fa parte di una collezione di giochi, mi serve entrare ed uscire piu volte dalla Slot quando entra nella slot devo inizializzare una bitmapMutable per cui Ruote.Bitmap.InitializeMutable(Dimensione*3,Dimensione*(slot+1)) quando entra la prima volta Ruote non e` inizializzata e non da problemi quando entra la seconda volta Ruote non e` inizializzata (perche viene dichiarata localmente) ma da questo errore java.lang.OutOfMemoryError: Failed to allocate a 26542092 byte allocation with 6624400 free bytes and 6MB until OOM come se la memoria consumata prima non sia stata rilasciata come faccio?
sto usando la GameView per un mio gioco di SlotMachine siccome il gioco fa parte di una collezione di giochi, mi serve entrare ed uscire piu volte dalla Slot quando entra nella slot devo inizializzare una bitmapMutable per cui Ruote.Bitmap.InitializeMutable(Dimensione*3,Dimensione*(slot+1)) quando entra la prima volta Ruote non e` inizializzata e non da problemi quando entra la seconda volta Ruote non e` inizializzata (perche viene dichiarata localmente) ma da questo errore java.lang.OutOfMemoryError: Failed to allocate a 26542092 byte allocation with 6624400 free bytes and 6MB until OOM come se la memoria consumata prima non sia stata rilasciata come faccio?
Star-Dust Expert Licensed User Longtime User Apr 5, 2017 #2 Oggi non te ne va una giusta. Prova a dichiararla nel Process_Global magari risolvi come il Timer Anche perché non crea un nuovo oggetto.ogni volta che entri..
Oggi non te ne va una giusta. Prova a dichiararla nel Process_Global magari risolvi come il Timer Anche perché non crea un nuovo oggetto.ogni volta che entri..
LucaMs Expert Licensed User Longtime User Apr 5, 2017 #3 Star-Dust said: Oggi non te ne va una giusta. Prova a dichiararla nel Process_Global magari risolvi come il Timer Click to expand... No, gli oggetti che riguardano l'interfaccia grafica vanno dichiarati solo nella Globals. LordZenzo said: come faccio? Click to expand... T'attacchi, a meno che non pubblichi il sorgente o molte più informazioni
Star-Dust said: Oggi non te ne va una giusta. Prova a dichiararla nel Process_Global magari risolvi come il Timer Click to expand... No, gli oggetti che riguardano l'interfaccia grafica vanno dichiarati solo nella Globals. LordZenzo said: come faccio? Click to expand... T'attacchi, a meno che non pubblichi il sorgente o molte più informazioni
Star-Dust Expert Licensed User Longtime User Apr 5, 2017 #4 LucaMs said: No, gli oggetti che riguardano l'interfaccia grafica vanno dichiarati solo nella Globals. T'attacchi, a meno che non pubblichi il sorgente o molte più informazioni Click to expand... Dichiararlo nel Global risolverebbe lo stesso credo
LucaMs said: No, gli oggetti che riguardano l'interfaccia grafica vanno dichiarati solo nella Globals. T'attacchi, a meno che non pubblichi il sorgente o molte più informazioni Click to expand... Dichiararlo nel Global risolverebbe lo stesso credo
LordZenzo Well-Known Member Licensed User Longtime User Apr 5, 2017 #5 il problema si presenta solo quando cambia il verso del telefono (portrait/landscape)
LordZenzo Well-Known Member Licensed User Longtime User Apr 5, 2017 #6 Star-Dust said: Dichiararlo nel Global risolverebbe lo stesso credo Click to expand... sono gia dichiarati nella globals
Star-Dust said: Dichiararlo nel Global risolverebbe lo stesso credo Click to expand... sono gia dichiarati nella globals
Star-Dust Expert Licensed User Longtime User Apr 5, 2017 #7 Soluzione 1 Code: #SupportedOrientations: landscape Tentativo di soluzione 2 Code: if Ruote.IsInitialized=False then Ruote.Bitmap.InitializeMutable(Dimensione*3,Dimensione*(slot+1)) Comunque se non posti un pezzo di codice cosi da provarlo come facciamo a capire. Non che io sia bravo ma magari qualche sciocchezza che ti sia sfuggita posso ancora trovarla.
Soluzione 1 Code: #SupportedOrientations: landscape Tentativo di soluzione 2 Code: if Ruote.IsInitialized=False then Ruote.Bitmap.InitializeMutable(Dimensione*3,Dimensione*(slot+1)) Comunque se non posti un pezzo di codice cosi da provarlo come facciamo a capire. Non che io sia bravo ma magari qualche sciocchezza che ti sia sfuggita posso ancora trovarla.
LordZenzo Well-Known Member Licensed User Longtime User Apr 5, 2017 #8 dopo decine di prove e uno snervante debug passo passo, ho scoperto che solo quando "esco" dalla slot e cambio verso al telefono e quindi viene invocata la Activity_Create il caricamento dei vari Layount da problemi di memoria anche uscendo da altri giochi(per ora sono 4) viene invocata la Activity_Create ma non da problemi
dopo decine di prove e uno snervante debug passo passo, ho scoperto che solo quando "esco" dalla slot e cambio verso al telefono e quindi viene invocata la Activity_Create il caricamento dei vari Layount da problemi di memoria anche uscendo da altri giochi(per ora sono 4) viene invocata la Activity_Create ma non da problemi
Star-Dust Expert Licensed User Longtime User Apr 5, 2017 #9 Scusa ma non ho avuto tempo oggi, alla fine hai risolto?
LucaMs Expert Licensed User Longtime User Apr 5, 2017 #10 Star-Dust said: Scusa ma non ho avuto tempo oggi, alla fine hai risolto? Click to expand... Si, ma cambiando completamente il progetto, eliminando la GameView.
Star-Dust said: Scusa ma non ho avuto tempo oggi, alla fine hai risolto? Click to expand... Si, ma cambiando completamente il progetto, eliminando la GameView.
Star-Dust Expert Licensed User Longtime User Apr 5, 2017 #11 Io ho fatto un gioco con LibGDX e posso dire che andava bene, certo progettarlo concettualmente é molto diverso da altri metodi. Cmq se l'algoritmo non è congeniato bene falcimente si blocca. La grafica dev'essere molto curata altrimenti esce una cosa orrribile. Negli ultimi giochi ho usato canvas, ovviamente giochi che non richiedono molta velocità, e andavo aggiornando Canvas per ottenere il movimento, ma il dispositivo riscaldava un botto e scaricava la batteria. Adesso ho rinunciato ai giochi. Last edited: Apr 5, 2017
Io ho fatto un gioco con LibGDX e posso dire che andava bene, certo progettarlo concettualmente é molto diverso da altri metodi. Cmq se l'algoritmo non è congeniato bene falcimente si blocca. La grafica dev'essere molto curata altrimenti esce una cosa orrribile. Negli ultimi giochi ho usato canvas, ovviamente giochi che non richiedono molta velocità, e andavo aggiornando Canvas per ottenere il movimento, ma il dispositivo riscaldava un botto e scaricava la batteria. Adesso ho rinunciato ai giochi.
AlpVir Well-Known Member Licensed User Longtime User Apr 5, 2017 #12 Un analogo problema di OutOfMemory l'ho risolto inserendo nel manifest SetApplicationAttribute(android:largeHeap, "true")
Un analogo problema di OutOfMemory l'ho risolto inserendo nel manifest SetApplicationAttribute(android:largeHeap, "true")
LucaMs Expert Licensed User Longtime User Apr 5, 2017 #13 AlpVir said: Un analogo problema di OutOfMemory l'ho risolto inserendo nel manifest SetApplicationAttribute(android:largeHeap, "true") Click to expand... Tentato, purtroppo. Grazie.
AlpVir said: Un analogo problema di OutOfMemory l'ho risolto inserendo nel manifest SetApplicationAttribute(android:largeHeap, "true") Click to expand... Tentato, purtroppo. Grazie.
LordZenzo Well-Known Member Licensed User Longtime User Apr 6, 2017 #14 AlpVir said: Un analogo problema di OutOfMemory l'ho risolto inserendo nel manifest SetApplicationAttribute(android:largeHeap, "true") Click to expand... lo ho inserito, ma ho anche tolto la GameView, tanto non ho bisogno di tante animazioni e le poche che faccio vanno bene usando le sole bitmap
AlpVir said: Un analogo problema di OutOfMemory l'ho risolto inserendo nel manifest SetApplicationAttribute(android:largeHeap, "true") Click to expand... lo ho inserito, ma ho anche tolto la GameView, tanto non ho bisogno di tante animazioni e le poche che faccio vanno bene usando le sole bitmap