發表文章

目前顯示的是 7月, 2012的文章

Unload Flex Module Completely?

Flex內部有提供Module的機制,透過Module的設計,可以把主程式切分成幾個swf,然後在需要的時候才去動態 loading和 instantiated,這樣作理論上可以調控網路使用量和記憶體使用量...可是... 這個機制加載時沒問題(目前),但是移除(unload)時卻是問題重重,最大的問題就是,移除掉module後原本佔用的記憶體永遠不會被釋放, 爬了很多文,發現有一些work around的撇步 ,稍微試了一下結果還是行不通: What We Know About Unloading Modules   Unloading modules completely, MXML   問題的關鍵應該是Flex內部有某些物件始終cache住讀進來的 module的 reference,導致即使表面上以為刪除,但實際上卻永遠不會被垃圾蒐集。時間關係,目前先不考慮用Module來做想要的功能了。

C++版的Tweener : cppTweener

根據短期內開發C++ GUI的經驗,不知道什麼原因,C++的GUI 開發似乎不是很流行類似Tweener ( http://labs.zeh.com.br/blog/?p=95 ) 這樣的工具。在開發Flash專案的時候,有tween沒tween的GUI,效果真是天差地遠,要做流暢的介面始終少不了這類的工具。 曾經用過的Qt framework (open source版)有內建類似的工具,不過在Qt中該工具的設計和內建的function數量,與任一個Flash的 Tweening library比起來還是差多了,甚至最近在測試的兩個3D Engine裡也都沒有這種工具的蹤影。 最近在開發專案的時候,再搜尋了一次,這次發現有人把Tweener porting到c++版了: cpptweener  , 在該project首頁可以找到簡單的教學和demo video。port到C++以後,架構上做了一點更動,整個工具調整成單純是做數學運算,所以也就不依賴任何的GUI framework,只要標準的C++ Standard Library就可以用了。