Uso le variabili statiche nella mia app, molte di queste. La mia domanda è, quando esco dall'app saranno ancora in memoria ..? Se sì, come posso correggerlo. Grazie in anticipo.variabili statiche, qual è la loro durata?
risposta
variabile statica viene caricato quando classe viene caricata da ClassLoader, e verrebbe eliminato when it is Unloaded
Nessuna variabile rimane in memoria dopo l'arresto dell'applicazione.
Le variabili statiche sono associate a una classe e vivranno finché la classe è in memoria (che cessa di esistere una volta che l'applicazione termina).
o una volta che la lezione viene scaricata (cosa che accade molto raramente). – Thilo
La variabile statica vivrà finché la classe viene caricata nella JVM. Quando non ci sono più istanze della classe in esecuzione nella JVM, la classe verrà scaricata e la variabile statica sarà eleggibile per la garbage collection.
La classe non verrà scaricata, anche se non ci sono più istanze. Viene scaricato solo quando l'intero classloader si allontana. – Thilo
A volte, si desidera avere variabili comuni a tutti gli oggetti. Ciò è possibile con static modifier
. Fields that have the static modifier in their declaration are called static fields or class variables
. They are associated with the class, rather than with any object
. Every instance of the class shares a class variable, which is in
una posizione fissa nella memoria. Qualsiasi oggetto può cambiare il valore di una variabile di classe, ma le variabili di classe possono anche essere manipolate senza creare un'istanza della classe.
Quando l'istanza non viene utilizzata, il garbage collector lo distruggerà. significa che l'istanza verrà cancellata dalla memoria.
In aggiunta alle altre risposte, si noti anche che se quelle "variabili" statiche sono in realtà costanti primitive "statiche finali", in realtà non esistono affatto come entità separate, ma il loro valore viene compilato direttamente in tutti le classi che li usano (non solo quello che li definisce).
Uso le variabili statiche nella mia app, molte di esse.
Le variabili statiche sono immuni rispetto al gestore automatico della memoria e si consiglia di impostarle su null nel metodo onDestroy
(Android). Appartengono a una classe sicura e funziona esattamente come lo @Jigar Joshi.
Non si parla di 'Android' qui. –
sry man, colpa mia ma anche la stessa cosa in classico java, è necessario impostarli su null. – Sajmon
se è C/C++ e se non si sono raccolti i gavoni, è necessario utilizzare un programma di gestione della memoria. Se è java, chiudere tutti i programmi "javaw" dalla memoria e vicino JVM
anche in C/C++, quando il processo termina (se questa è la domanda), il sistema operativo rilascia tutta la memoria. – Thilo
variabile statica del sono chiamati variabile di classe e in modo di ambito che hanno caricato quando la classe viene caricata e scaricata quando la classe viene scaricata. per esempio una variabile di classe come
private int classinVar;
viene inizializzato automaticamente dal suo valore di default quando la classe caricata, e lo stesso concetto è con signout quando si arriva signout allora quella classe sarebbe andato fuori contesto con il suo campo statico.
per i lettori successiva di questo Question-
come tutti ha detto nella risposta che le variabili statiche sono di classe variabili. Rimangono nella memoria finché la classe non viene scaricata da JVM.
In Android avete visto che quando chiudiamo qualsiasi applicazione allora non si chiude completamente, Rimane nel recente stack applicativo, che si può vedere premere a lungo il pulsante home (sulla maggior parte dei dispositivi).
Android itself kicked out those recent apps when the other app needs memory
In Android, statico scarico variabile quando-
-You force stop your app.
-Application crashes.
-You clear your app data.
-Switch off your Device.
-Android kicked out recent app
- 1. Durata delle variabili statiche in .NET
- 2. C++ - variabili temporanee e la loro vita
- 3. Le chiamate AJAX non si bloccano e qual è la loro durata?
- 4. Durata delle variabili JavaScript
- 5. Qual è la durata di un controller MVC ASP.NET?
- 6. Qual è la durata della variabile all'interno del blocco?
- 7. Aggiornamenti variabili statiche Java
- 8. Qual è la durata e la validità degli iteratori C++?
- 9. Accesso alle variabili statiche
- 10. Variabili statiche di inizializzazione Quiz
- 11. Variabili statiche Java e ereditarietà e memoria
- 12. Variabili statiche in C#
- 13. Variabili statiche in R
- 14. Qual è la durata dell'animazione actionbar.show() e hide() nativa
- 15. Qual è la durata di un Toast LENGTH_LONG e LENGTH_SHORT
- 16. Qual è la durata della memoria puntata a typeinfo :: name()?
- 17. CoreBluetooth: Qual è la durata di UUID unici
- 18. Qual è la differenza tra mixins statiche e tratto dinamica
- 19. Qual è la differenza tra analisi statiche profonde e superficiali?
- 20. Qual è la differenza tra celle statiche e prototipi dinamici?
- 21. Variabili e filettature statiche (C)
- 22. variabili statiche PHP tra virgolette
- 23. strano comportamento delle variabili statiche
- 24. DotNet: variabili statiche nella DLL
- 25. ASP.NET WebApi Sessione vs variabili statiche
- 26. Argomenti predefiniti come variabili membro non statiche
- 27. Variabili globali vs statiche in PHP
- 28. variabili statiche thread-safe senza mutexing?
- 29. Qual è il significato delle variabili statiche in un'implementazione di un'interfaccia?
- 30. Servizio Android ucciso e variabili statiche
Cosa si intende per "signout"? Terminare il programma/processo/JVM? – Thilo
@Thilo Penso che stia parlando di app Android ... Si prega di specificarlo, Raghav. – brimborium
puoi dare altri esempi? o non credo che questa domanda vivrà a lungo – kommradHomer