J'ai lu récemment cet article sur la Gestion de la Mémoire de Votre Application,je vous suggère fortement de le lire si vous êtes un AndroidDev et ne l'a jamais fait.
Il y a beaucoup de bonnes pratiques et une chose que je n'arrive jamais à connaître est la onTrimMemory(int niveau) méthode appelée par le système à chaque Activité/Fragment de notifier les événements sur lesquels la mémoire devrait ou pourrait être libéré.
Voici une citation de cet article:
Notez que votre application reçoit le onTrimMemory() rappel avec TRIM_MEMORY_UI_HIDDEN que lorsque tous les composants de l'INTERFACE utilisateur de votre application processus caché de l'utilisateur. Elle est distincte de la onStop() de callback qui est appelée lorsqu'une instance d'Activité devient caché, qui se produit même lorsque l'utilisateur se déplace vers une autre activité dans votre application. Ainsi, bien que vous devriez mettre en œuvre onStop() pour libérer de des ressources d'activité tels que la connexion à un réseau ou à annuler l'inscription récepteurs de radiodiffusion, il est préconisé de ne pas libérer vos ressources de l'INTERFACE utilisateur jusqu'à ce que vous recevez onTrimMemory(TRIM_MEMORY_UI_HIDDEN). Cela garantit que si l'utilisateur revient sur une autre activité dans votre application, votre INTERFACE utilisateur, les ressources sont encore disponibles pour reprendre l'activité rapidement.
Je suis vraiment intéressé à mettre en place une bonne gestion de la mémoire dans mon application, je suis impatient de mettre en œuvre la onTrimMemory() dans le droit chemin.
Je n'ai que quelques question à ce sujet:
est onTrimMemory(TRIM_MEMORY_UI_HIDDEN) appelée juste après le onStop()?
ce "communiqué de votre INTERFACE utilisateur des ressources" signifie dans ce contexte? juste pour exemple nettoyer le cache Bitmap, ou fait enlever et détruire tous les Afficher dans la Vue de l'arbre? j'ai l'habitude de détruire les points de Vue dans le onDestroy() ou onDestroyView() méthodes, je suis maintenant, vous vous demandez si je suis en train de faire.
est-il un Jumeau/correspondant de rappel à onTrimMemory(TRIM_MEMORY_UI_HIDDEN)? comme onCreate-onDestroy, onStart-onStop, onCreateView-onDestroyView. Je suis en demandant à comprendre où et comment je dois restaurer l'INTERFACE utilisateur de l'état après une Activité/Fragment a été introduit dans FG après onTrimMemory(TRIM_MEMORY_UI_HIDDEN) a été appelé.