大夢想家

          5年開發(fā)工程師,2年實(shí)施經(jīng)理,X年售前顧問,......
          數(shù)據(jù)加載中……
          SWT---資源---第一!
               使用SWT做開發(fā)的朋友,一定要注意~資源是一個(gè)殺手!對于我們這些無知的開發(fā)人員,使用了資源,不釋放它,比不寫程序或者不提供這個(gè)功能還可怕~因?yàn)樗?jīng)不起考驗(yàn),到了時(shí)間肯定完蛋!
               前兩個(gè)天就遇到了這個(gè),同事寫了一個(gè)插件,一次性從數(shù)據(jù)庫中取得1W以上的數(shù)據(jù)然后組織成樹表格,顯示給客戶~取得數(shù)據(jù)的速度,樹組裝的速度,樹展開的速度,都做了反復(fù)的優(yōu)化,一切優(yōu)化完成以后,就宣布完成!但是沒有測,當(dāng)我連續(xù)打開4個(gè)樹以后,程序就非掉了~
              我先加大rcp的啟動(dòng)內(nèi)存,沒用!瘋狂調(diào)用cg,沒用!而且這中錯(cuò)誤錯(cuò)的很奇怪,如果是內(nèi)存異常,應(yīng)該是JVM報(bào)出的,但是這次不是,仔細(xì)閱讀異常,竟然是SWT打開圖片,顏色,字體的時(shí)候的異常~肯定是資源問題了!
             因?yàn)橐郧耙恢痹儆肑face的treeviewer組件,所以一直沒有關(guān)心資源的問題~但是1W的數(shù)據(jù),使用的SWT的原生Tree組裝的~而且還用了一些字體~
          排查代碼,竟然發(fā)現(xiàn)有字體被new出,但是沒有釋放~問題就出在這里~
             調(diào)用了

          Font font = new Font (display, "Courier", 10, SWT.NORMAL);

          那么就應(yīng)該在不在需要這個(gè)Font的時(shí)候調(diào)用

          font.dispose();

          兩個(gè)原則:
          第一條是"誰占用,誰釋放",第二條是"父構(gòu)件被銷毀,子構(gòu)件也同時(shí)被銷毀"。

          客戶虐我千百遍,我待客戶如初戀!

          posted on 2007-09-14 16:34 阿南 閱讀(1378) 評論(7)  編輯  收藏 所屬分類: 西安java用戶群Eclipse-SWT

          評論

          # re: SWT---資源---第一! 2007-09-14 21:50 千里冰封

          SWT再好應(yīng)該也沒有SWING好吧,其實(shí)SWING的架構(gòu)是非常優(yōu)秀的。而SWT只是和AWT差不多而已
            回復(fù)  更多評論    

          # re: SWT---資源---第一! 2007-09-14 22:17 Matthew Chen

          看冰封說的,swt還是不錯(cuò)的,老實(shí)說覺得用swt和用vb之類的差不多,簡單點(diǎn),追求速度,用戶滿意度,但由于并非由jvm控制資源,很難獲得穩(wěn)定性。swing的架構(gòu)那是經(jīng)典mvc,在配以jvm的呵護(hù),自然是優(yōu)秀的,簡直是媲美j2ee的架構(gòu)啊。
            回復(fù)  更多評論    

          # re: SWT---資源---第一! 2007-09-14 22:33 BeanSoft

          呵呵 SWT 組件擴(kuò)展比較費(fèi)勁. 有誰能告訴我如何實(shí)現(xiàn)下面的功能:
          動(dòng)態(tài)的將 CTabItem 隱藏/顯示... 似乎隱藏除了 dispose() 沒辦法了..

          我期望有方法 setVisible(boolean) 可以來調(diào)用.
            回復(fù)  更多評論    

          # re: SWT---資源---第一! 2007-09-15 00:30 ev0

          碰到系統(tǒng)資源的管理還是最好用jface里對應(yīng)的registry
            回復(fù)  更多評論    

          # re: SWT---資源---第一! 2007-09-15 09:28 千里冰封

          呵呵,我還是覺得跨平臺的應(yīng)用,還是SWING好一些,用JAVA的外觀,在每個(gè)平臺幾乎有一樣的表現(xiàn)
            回復(fù)  更多評論    

          # re: SWT---資源---第一! 2007-10-16 13:01 翔南

          恩 一定要及時(shí)釋放資源!
            回復(fù)  更多評論    

          # re: SWT---資源---第一! 2007-10-22 11:51 study

          哈哈,個(gè)人比如一下:寫代碼就好比人吃飯,如果上一餐吃得太多還沒有消化就接著來第二餐很容易消化不良.
            回復(fù)  更多評論    
          主站蜘蛛池模板: 磐石市| 分宜县| 巴中市| 咸丰县| 衡阳市| 进贤县| 房产| 新郑市| 察哈| 苍山县| 固原市| 双江| 昌黎县| 淮安市| 徐州市| 江阴市| 宁城县| 吉木乃县| 清新县| 淄博市| 平遥县| 弥渡县| 云和县| 闽侯县| 杭锦旗| 县级市| 吴桥县| 双桥区| 遵化市| 乐至县| 清徐县| 松潘县| 成安县| 濮阳市| 攀枝花市| 邢台市| 西丰县| 吉林市| 定远县| 花垣县| 那坡县|