java - Activity中的成员变量被赋值之后,Activity被回收的时候内存才会被释放吗
大家讲道理
大家讲道理 2017-04-18 10:49:07
0
2
635

Activity中的成员变量被赋值之后,Actiity被回收的时候内存才会被释放吗
java中一个类中的成员变量被赋值之后,这个类对象被回收时,类中得成员变量才会被释放内存吗

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

répondre à tous(2)
大家讲道理

Ce problème doit être classé sous Java. Tant que l'objet auquel Activity appartient est conservé de manière statique, l'intégralité de Activity existera toujours en mémoire, à moins que WearReference.

ne soit utilisé.

Ce qui suit est une démonstration de code d'erreur similaire :

private static Context sContext;
public static void setContext(Context context) {
    sContext = context;
}

Si vous utilisez Android Studio, l'EDI affichera un avertissement : n'attribuez pas l'objet Contexte à des variables statiques.

伊谢尔伦

La description de la question n'est pas claire, et il n'y a pas de commentaires négatifs sur la ponctuation. Mais essayez de répondre :
Les objets globaux ne doivent être que des variables modifiées par le modificateur statique. Les variables après modification statique appartiennent à cette classe (. classe), ou en d'autres termes Changer tous les objets correspondant à la classe, plutôt que d'appartenir à un certain objet, vous devriez pouvoir vous rendre compte qu'il est faux qu'un objet soit recyclé pour provoquer le recyclage de la statique ( comment utiliser d'autres objets qui ont été recyclés)
C'est mentionné ici Activité, développons-le à nouveau Dans des circonstances normales, il est acceptable d'utiliser des variables statiques pour référencer l'objet actuel (comme le mode singleton), mais dans le Conception d'Android, Activity n'est pas une classe ordinaire. Elle a son propre cycle de vie et sera supprimée à son expiration (car la fonction est trop puissante et la mémoire occupée est trop grande). Il y a donc un problème d'utilisation statique. référence à l'activité en cours pour signaler une fuite de mémoire.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal