我正在開發鈦合金應用程序。我有多個XML文件。每個XML文件都有相同的視圖,每個視圖的ID和功能都是一樣的。這種認識是正確的,或者我必須爲所有對象分配不同的id和不同的命名函數以防止內存泄漏。我的意思是每個xml的代理在內存上相同或不同?瞭解合金結構
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>
以及如何從清洗對象內存何時關閉窗口以防內存泄漏?
編輯用於防止內存泄漏的窗口關閉事件;
$.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;
});
我用我的控制器代碼編輯我的問題?你有什麼建議?這是正確的做法嗎? – Kerberos
你有內存泄漏的具體問題嗎?您可能需要針對您遇到的問題發佈問題。另請參閱[管理內存](http://docs.appcelerator.com/platform/latest/#!/guide/Managing_Memory_and_Finding_Leaks)。至於你的代碼,'$ .destroy()'只在做[合金數據綁定]時需要(http://docs.appcelerator.com/platform/latest/#!/guide/Destroying_Data_Bindings)。是的,您確實需要刪除全局事件偵聽器。我會盡量避免它們,而是使用諸如主幹事件之類的東西。 –
我打開10多個窗口。父窗口不關閉。你建議任何算法的多個Windows應用程序? – Kerberos