2016-07-06 62 views
1

this Flambe guide它說:如何正確處理Flambe中的對象?

「這處置函數刪除其所屬的實體此組件,您應該重寫處置功能,以自己出售的對象,以防止內存泄漏。」

我有3個問題:

  1. 我應該如何重寫處置功能?

  2. 如何正確使用dispose函數?

  3. 有沒有辦法檢查Flambe中的內存泄漏?

回答

1

1如果你如果不使用Component使用Component

override public function dispose() { 
    myReferences = null; 
    myDisposable.dispose(); 

    super.dispose(); 
} 

: 您可以實現Disposable,需要在其他處置功能時處理。

2您需要清除對象的引用,這意味着將其設置爲null。 您需要關閉在該上下文中創建的信號連接。 您需要處理Disposable s。

3如果您使用JavaScript(html)目標,則可以使用chrome debug inspector/devtools。您可以收集內存配置文件,觀察CPU使用情況等。非常有用! https://developer.chrome.com/devtools/docs/profiles

+0

感謝您的回答。只有幾個問題: 當你編寫'myReferences'時,你的意思是對這個組件對象的引用,對吧? 什麼是myDisposable? 我們稱'super.dispose()'爲了從它的所有者中刪除這個組件,對吧? – Robert777

+1

myDisposable是實現'Disposable'接口的組件中使用的任何東西。 myReference是組件中使用的對象的另一個示例,它沒有實現'Disposable'。 –

+1

是的,你應該總是執行'super.dispose()',因爲這會從組件中移除組件。 –