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

2022-02-15 19:30:43 字數 1461 閱讀 6247

在使用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 pdf

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

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,也大大的提公升了頁面的開啟時間。

IOS經常使用的效能優化策略

1 用arc管理記憶體 2 對於uitableview使用重用機制 3 uiview及其子類設定opaque true 4 主程序是用來繪製ui的,所以不要堵塞 5 慎用xib,由於xib建立uiviewcontroller時。會將xib上的全部內容匯入到記憶體 6 選擇正確集合 arrays 有序...

使用modin針對pandas進行效能優化

1.為什麼要使用modin?modin 是加州大學伯克利分校 riselab 的乙個早期專案,旨在促進分布式計算在資料科學領域的應用。它是乙個多程序的資料幀 dataframe 庫,具有與 pandas 相同的應用程式介面 api 使使用者可以加速他們的 pandas 工作流。該系統是為希望程式執行...

乙個使用share memory進行效能優化的例項

下面是這段 是我的乙個演算法中用來求和以及求平方和的kernel函式 global static void compsumandsquare int rate,int i n,int size,int width,int wsize,int image,float sum,float sumofsq...