亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Flex內存優化技巧有哪些

發布時間:2021-12-14 13:42:57 來源:億速云 閱讀:128 作者:小新 欄目:編程語言

這篇文章主要介紹Flex內存優化技巧有哪些,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

Flex內存優化原則

1.被刪除對象在外部的所有引用一定要被刪除干凈才能被系統當成垃圾回收處理掉;

2.父對象內部的子對象被外部其他對象引用了,會導致此子對象不會被刪除,子對象不會被刪除又會導致了父對象不會被刪除;

3.如果一個對象中引用了外部對象,當自己被刪除或者不需要使用此引用對象時,一定要記得把此對象的引用設置為null;

4.本對象刪除不了的原因不一定是自己被引用了,也有可能是自己的孩子被外部引用了,孩子刪不掉導致父親也刪不掉;

5.除了引用需要刪除外,系統組件或者全局工具、管理類如果提供了卸載方法的就一定要調用刪除內部對象,否則有可能會造成內存泄露和性能損失;

6.父對象立刻被刪除了不代表子對象就會被刪除或立刻被刪除,可能會在后期被系統自動刪除或第二次移除操作時被刪除;

7.如果父對象remove了子對象后沒有清除對子對象的引用,子對象一樣是不能被刪除的,父對象也不能被刪除;

8.注冊的事件如果沒有被移除不影響自定義的強行回收機制,但有可能會影響正常的回收機制,所以***是做到注冊的事件監聽器都要記得移除干凈。

9.父對象被刪除了不代表其余子對象都刪除了,找到一種狀態的泄露代碼不等于其他狀態就沒有泄露了,要各模塊各狀態逐個進行測試分析,直到測試任何狀態下都能刪除整個對象為止。


Flex內存優化中Flex內存泄露舉例:

1.引用泄露:對子對象的引用,外部對本對象或子對象的引用都需要置null;

2.系統類泄露:使用了系統類而忘記做刪除操作了,如BindingUtils.bindSetter(),ChangeWatcher.watch()函數時候完畢后需要調用ChangeWatcher.unwatch()函數來清除引用,否則使用此函數的對象將不會被刪除;

類似的還有MUSIC,VIDEO,IMAGE,TIMER,EVENT,BINDING等。
3.效果泄露:當對組件應用效果Effect的時候,當本對象本刪除時需要把本對象和子對象上的Effect動畫停止掉,然后把Effect的target對象置null;如果不停止掉動畫直接把Effect置null將不能正常移除對象。

4.SWF泄露:要完全刪除一個SWF要調用它的unload()方法并且把對象置null;

5.圖片泄露:當Image對象使用完畢后要把source置null;(為測試);

6.聲音、視頻泄露:當不需要一個音樂或視頻是需要停止音樂,刪除對象,引用置null;


Flex內存優化時Flex內存泄露解決方法:

1.在組件的REMOVED_FROM_STAGE事件回掉中做垃圾處理操作(移除所有對外引用(不管是VO還是組件的都需要刪除),刪除監聽器,調用系統類的清除方法)
先remove再置null,確保被remove或者removeAll后的對象在外部的引用全部釋放干凈;

2.利用Flex的性能優化工具Profile來對項目進程進行監控,可知道歷史創建過哪些對象,目前有哪些對象沒有被刪除,創建的數量,占用的內存比例和用量,創建過程等信息;

以上是“Flex內存優化技巧有哪些”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

唐山市| 长岛县| 定襄县| 贵南县| 石阡县| 沁阳市| 印江| 谷城县| 南开区| 南乐县| 罗山县| 丹棱县| 甘谷县| 宣化县| 温州市| 杨浦区| 岑溪市| 济源市| 蓝山县| 吴江市| 黑河市| 广宗县| 西盟| 申扎县| 贵阳市| 祁东县| 乌兰浩特市| 六安市| 福鼎市| 贺兰县| 林州市| 共和县| 河南省| 余庆县| 栾城县| 武穴市| 永平县| 汾阳市| 江阴市| 横峰县| 米易县|