ExtJs效能優化

2021-06-16 04:17:35 字數 1450 閱讀 4925

在使用extjs過程中,效能一直是乙個比較頭疼的問題,從使用者的角度來看,就乙個字:慢。從技術的角度來說,這個「慢」字可以分為兩種,載入「慢」和渲染「慢」。想分辨這兩種情況很容易:如果居於網不慢而網際網路上慢,說明是載入慢;如果chrome不慢而ie慢,就是渲染慢。還有另一種情況:越用越慢,這個「慢」通常是記憶體洩露造成的。

針對以下這三種情況討論一下解決方案:

1,載入慢

1.1 減少要載入的東西

不要動不動就ext-all.js,extjs是可以定製的,如果你用不到tree,就不要包含這個元件了。extjs的官網上有詳細的定製方法和工具。

1.2 給出合適的使用者提示

把js後置,然後前面做乙個載入的提示。如果像gmail那樣給出進度條,或者像很多網遊那樣來點或者tips啥的就更好了,說不定使用者還會覺得怎麼載入這麼快,我還沒看清楚呢,呵呵。

1.3 用的時候再載入

1.4 只載入一次

1.5 對你的js新增過期標記

ext-base.js、ext-all.js都可以設定很長的過期時間,甚至永不過期(如果你不換extjs的版本)。這點對所有靜態內容都很有用,如何設定過期標記請垂詢google。

2,渲染慢

2.1 少載入少解析、晚載入晚解析

1.1,1.3,1.4都對改善渲染慢的情況有效——載入的少了自然渲染的快了。

2.2 別用iframe

iframe不僅僅可能會使瀏覽器載入兩遍,還一定會使瀏覽器解析兩遍,放棄它吧,真的。

2.3 精心設計你的js**

例如快取getelementbyid()的結果、編譯查詢表示式之類的東西,這個純看js功力。

2.4 可能的話,讓使用者換個瀏覽器吧

chrome比ie的js渲染快是數量級上的差異!構造乙個40列,50行的複雜gridpanel試試,你就會深有體會了……對於企業內部的mis系統,換瀏覽器還是具有可能性的。

3,記憶體洩露

ext效能調優方案

1. 將js進行合併壓縮。

使用yahoo的yui-compress.jar進行壓縮js,去掉過多的空格和注釋,並合併,減少io的支出。

2. 將前後臺傳輸的資料進行gzip壓縮。

大資料量的資料傳輸,通過gzip的壓縮方案,可以減少到25%,有些資料可能會更多。

3. 對大量的js分析依賴關係,進行動態載入。

這個是關鍵,通過分析所有的js中的依賴關係,減少了js載入的數量。從很大程度上提高了效能。

4. 另外對部分頁面進行快取,而非真正的關閉。

還有乙個外部的因素,由於系統使用的客戶機環境上的複雜,我們在多個瀏覽器上進行了測試,只有ie是最慢的,尤其是ie6,後來發現不是ie6要比ie7慢,是因為發現ms發布了指令碼引擎cscript 5.7, 而大部分的ie6系統都裝的是5.6, 這個版本上的公升級,不僅僅是修改了bug,在js的執行速度上也有了較大的提公升,於是我們在環境因素上又加上了一條,要求客戶安裝cscript5.7,也大大的提公升了頁面的開啟時間。

經常使用JS,可知ExtJs效能優化

在使用extjs過程中,效能一直是乙個比較頭疼的問題,從使用者的角度來看,就乙個字 慢。從技術的角度來說,這個 慢 字可以分為兩種,載入 慢 和渲染 慢 想分辨這兩種情況很容易 如果居於網不慢而網際網路上慢,說明是載入慢 如果chrome不慢而ie慢,就是渲染慢。還有另一種情況 越用越慢,這個 慢 ...

ExtJs效能問題

在使用extjs過程中,效能一直是乙個比較頭疼的問題,從使用者的角度來看,就乙個字 慢。從技術的角度來說,這個 慢 字可以分為兩種,載入 慢 和渲染 慢 想分辨這兩種情況很容易 如果居於網不慢而網際網路上慢,說明是載入慢 如果chrome不慢而ie慢,就是渲染慢。還有另一種情況 越用越慢,這個 慢 ...

Extjs效能問題

總覺得我的extjs程式載入慢,執行起來很卡,部分很快,在客戶端瀏覽器中呈現,效果很好,效率很低 執行緩慢特別在列表中如果資料量大拖拉列表極為緩慢,如果列表上再加入了編輯框,那會更加緩慢 帶有資料量大grid的tabpanel切換也有嚴重卡頓現象。參看網上各位的經驗,總結如下 1,減少要載入的東西 ...