Je développe une application avec un alliage de titane. J'ai plusieurs fichiers XML. Chaque fichier xml a la même vue et chaque ID de vue et fonction est identique. cette approche est correcte ou dois-je assigner un identifiant différent et une fonction nommée différente pour tous les objets afin d'éviter les fuites de mémoire. Je veux dire que chaque proxy de xml est identique ou différent sur la mémoire?Comprendre la structure de l'alliage
home.xml
<Alloy>
<Window id="home">
<View id="Container" onTouchend="fooFunction"> </View>
</Window>
</Alloy>
detail.xml
<Alloy>
<Window id="detail">
<View id="Container" onTouchend="fooFunction"> </View>
</Window>
</Alloy>
other.xml
<Alloy>
<Window id="other">
<View id="Container" onTouchend="fooFunction"> </View>
</Window>
</Alloy>
Et comment nettoyer l'objet de mémoire lorsque je ferme la fenêtre pour éviter les fuites de mémoire?
Édité pour l'événement de fermeture de fenêtre afin d'empêcher une fuite de mémoire;
$.detail.addEventListener("close", function() {
// this listerner creates when window open for paused app event
Ti.App.removeEventListener("app:RefreshJson", fncRefreshJson);
$.Container.removeAllChildren();
$.detail.removeAllChildren();
$.removeListener();
$.destroy();
// listview creates on the fly when new window opens
// then I am adding it into $.Container
listView = null;
$.detail = null;
});
J'ai édité ma question avec mon code de contrôleur? Quelle est votre suggestion? Est-ce la bonne approche? – Kerberos
Avez-vous un problème spécifique avec les fuites de mémoire? Vous voudrez peut-être poster une question sur le problème auquel vous êtes confronté. Voir aussi [gestion de la mémoire] (http://docs.appcelerator.com/platform/latest/#!/guide/Managing_Memory_and_Finding_Leaks). En ce qui concerne votre code, '$ .destroy()' n'est nécessaire que pour [alliage data binding] (http://docs.appcelerator.com/platform/latest/#!/guide/Destroying_Data_Bindings). Oui, vous devez supprimer les écouteurs d'événements globaux. J'essaierais de les éviter, et j'utiliserais plutôt des événements de backbone. –
J'ouvre plus de 10 fenêtres. Les fenêtres parent ne sont pas fermantes. Suggérez-vous un algorithme pour plusieurs applications Windows? – Kerberos