十個Flex Air疑難雜症及解決方案簡略

2021-09-08 01:12:20 字數 1844 閱讀 8884

**

最近去一家台企,對方給我出了十道「難道」:在tilelist中如果選擇檔過多,會出現卷軸,當拖動卷軸時,渲染的進度條會出現花屏現象;

簡體:在tilelist中如果選擇檔過多,會出現卷軸,當拖動卷軸時,渲染的進度條會出現花屏現象;電子白板中,控制權轉移;

簡體:電子白板中,控制權轉移;電子白板中,畫面同步;

簡體:電子白板中,畫面同步;電子白板中,錄影;

簡體:電子白板中,錄影;flash置頂問題;

簡體:flash的置頂問題;聊天表情無法複製貼上,由於聊天表情是動態文字,所以新增到textflow中的是乙個sprite物件;

簡體:聊天表情無法複製貼上,由於聊天表情是動態文字,所以新增到textflow中的是乙個sprite物件;老闆模式,當系統焦點離開air程式後,無法檢測到系統的key_down事件;

簡體:老闆模式,當系統焦點離開air程式後,無法檢測到系統的key_down事件;air登錄檔操作(登陸啟動look程式);

簡體:air登錄檔操作(登陸啟動look程式);在1.5的air執行時環境下,中文不能輸入問題,因為客戶端可能已經安裝1.5的執行時,在網頁安裝中只能檢測客戶端是否安裝了執行時,卻無法檢測到版本資訊或者更新執行時;

簡體:在1.5的air執行時環境下,中文不能輸入問題,因為客戶端可能已經安裝1.5的執行時,在網頁安裝中只能檢測客戶端是否安裝了執行時,卻無法檢測到版本資訊或者更新執行時隱藏window邊框後,滑鼠在拖動視窗邊界改變視窗大小時,不能設定系統游標樣式。

簡體:隱藏window邊框後,滑鼠在拖動視窗邊界改變視窗大小時,不能設定系統游標樣式

ps:一種語言在發音上有幾十種不同的方言風格,在書寫上竟然也有兩種截然不同的風格,不止何時可以統一。

雜症**及解決方案簡略:

1, itemrenderer的花屏問題

並非tilelist有這個問題,在flex3內,datagrid,list,tree等控制項如果使用不當,均存在這個問題;在先前的fl元件包內的tilelist元件也有類似陰影。根本原因在於,使用itemrenderer的大資料控制項,其在渲染時,並不會一次建立所有資料列/行的顯示物件(itemrenderer),它僅會建立在螢幕上可見的資料列/行,並且重複利用這些顯示物件,以提交執行時效率。

可以做這樣一種**實驗,以幫助人們理解這種機制:在乙個tilelist控制項內,它本身有滾動條,它的itemrenderer也使其有滾動條,在多屏資料的情況下,任意滾動乙個itemrenderer的滾動條,然後滾動tilelist的滾動條到另一屏,你會發現,雖然資料已經變了,你從未滾動過這個資料,但它與你先前滾動過的那個資料具有相同的滾動位置。

從嚴格意義上講,這並不能算是adobe的bug,因為如果你嚴格按照adobe的官方說明使用,多數情況下,是不會出現的,因此這個bug的復現也頗具難度。從flex sdk 3.5開始,adobe flex團隊,對所有基於itemrenderer實現的資料控制項針對開發者遇到的問題進行了改良,優化了sdk內部控制項實現方法,並且新增了乙個offscreenextrarowsorcolumns屬性,該屬性意為非顯示區域的行或列數,用於幫助開發者在特定情況下遇到的花屏問題。

如果遇到這個問題,如果解決(方案按優先順序自上向下排列):

1) 修改策劃

顯示大資料時,傳統滾動條是乙個糟糕的設計,因為人的眼晴對於大量的,重複結構的資料,很難定位上次檢視的位置,多數人都是邊察看邊用指在螢幕上做標記。此種情況下,

a)要麼不使用滾動條,使用翻頁,使用者每次翻頁後,重新取資料、向資料控制項賦值,在這種情況下,datagrid,tilelist等均不會出現花屏問題,因為壓根兒就不會有滾動,但在此時,使用repeater效率更高。

b)要麼設計一種粗粒度滾動條,如下圖示意:

sban 2010/6 北京

no related posts.

十個Flex Air疑難雜症及解決方案簡略

最近去一家台企面試,對方給我出了十道 難道 ps 一種語言在發音上有幾十種不同的方言風格,在書寫上竟然也有兩種截然不同的風格,不止何時可以統一。雜症 及解決方案簡略 並非tilelist有這個問題,在flex3內,datagrid,list,tree等控制項如果使用不當,均存在這個問題 在先前的fl...

Pentest Box之疑難雜症(解決)

1.首先找到配置路徑 f bin customtools f代表 pentest box整個路徑 其中msfupdate cd d pentestbox root d代表 pentestbox檔案路徑 3.轉到windows defender 排除 新增c pentestbox?這是整個資料夾。5 ...

SQL Server疑難雜症解決之道

系列之一使用dbcc捕獲死鎖 經常會被客戶問道 應用程式被死鎖報錯啦?影響很大,到底是哪個程序導致了死鎖發生的啊?怎麼解決啊?怎麼辦呀?如何解決呢?不管是rds sql server還是自建,死鎖的確是乙個非常頭疼的問題。這篇文章是以死鎖問題為背景,分享死鎖文章系列之二使用profiler捕獲死鎖。...