Autore Topic: continue new e memoria  (Letto 504 volte)

Offline mambu

  • Utente normale
  • ***
  • Post: 167
  • Respect: +1
    • Mostra profilo
  • Sistema operativo:
    Windows 7
continue new e memoria
« il: 26 Aprile 2012, 18:47:49 CEST »
0
Salve, mi comincio a chiedere se continuare a i stanziare oggetti tramite la new non mi vada a compromettere la memoria del telefono.
Se è così come posso eliminare una variabile dopo che ho finito di utilizzarla?
grazie:)

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:continue new e memoria
« Risposta #1 il: 26 Aprile 2012, 18:58:42 CEST »
0
Per dirla semplice: non c'è modo di controllare l'eliminazione degli oggetti, piuttosto presta particolare cura quando istanzi qualcosa: limita i new, ricicla gli oggetti quando ne vale la pena, etc.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline zaxxon

  • Nuovo arrivato
  • *
  • Post: 34
  • Respect: +4
    • Mostra profilo
  • Dispositivo Android:
    Archos 101 G9
  • Sistema operativo:
    Ubuntu 10.04
Re:continue new e memoria
« Risposta #2 il: 26 Aprile 2012, 20:01:58 CEST »
0
Quando un oggetto termina il suo ciclo vitale, cioè non viene più puntato da nessuna variabile, diventa spazzatura e come tale viene riciclato dal Garbage Collector alla bisogna.

Offline mambu

  • Utente normale
  • ***
  • Post: 167
  • Respect: +1
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:continue new e memoria
« Risposta #3 il: 27 Aprile 2012, 09:32:53 CEST »
0
Quando un oggetto termina il suo ciclo vitale, cioè non viene più puntato da nessuna variabile, diventa spazzatura e come tale viene riciclato dal Garbage Collector alla bisogna.

questo me l'avevano detto, ma quando parte il garbate collector. Perché mi si crea un errore su un array e succedo solo dopo che faccio andare la mia app per molto tempo e visto che ne i stanzio una per ogni iterazione non vorrei che sia a causa di tutti questi new

Starò molto più attento a riciclare le varaibili. Grazie delle info!

Offline zaxxon

  • Nuovo arrivato
  • *
  • Post: 34
  • Respect: +4
    • Mostra profilo
  • Dispositivo Android:
    Archos 101 G9
  • Sistema operativo:
    Ubuntu 10.04
Re:continue new e memoria
« Risposta #4 il: 29 Aprile 2012, 21:25:40 CEST »
0
Il Garbage Collector viene invocato automaticamente dal sistema quando deve allocare memoria ma quella attualmente libera non è sufficiente.
Puoi anche invocarlo manualmente, mi pare con System.gc(), ma non è consigliato...

Offline gnamgnam

  • Nuovo arrivato
  • *
  • Post: 35
  • Respect: +1
    • Mostra profilo
Re:continue new e memoria
« Risposta #5 il: 30 Aprile 2012, 18:08:54 CEST »
0
se hai un vettore in cui crei nuovi oggetti e ne "elimini" alcuni che non ti servono puoi utilizzare un pool. ovvero supponiamo che hai un vettore di dieci oggetti e che due non ti servano più e che hai bisogno di crearne un altro invece di creare una nuova istanze ricicla uno dei due che non ti servono più cambiandogli lo stato, ovvero settando i sui parametri in base al nuovo oggetto che avrsti dovuto creare. E conserva l'altro che avrsti dovuto eliminare per una nuova creazione futura. In realtà non crei nessun oggetto nuovo ma gli cambi solo le informazioni da contenere.