1. 程式人生 > >Flash,一次Bug的思考

Flash,一次Bug的思考

我絕對不算是F黑,大部分時候,我還是很挺Flash平臺的,Flash提供了很好的跨平臺特性以及Flash Player11後的GPU加速、Stage3D等等,對於開發者來說,絕對讓人欣喜若狂(對我是這樣)。

Flash出Bug也算是常有的事,不過大都還好,我能理解Adobe開發者們的辛苦,要考慮跨平臺、相容性、效能等等。從Flash Player10開始,更新也有了很大的改善,解決了很多之前的Bug。不過這兩天出了一個Bug,首先對於我們的專案影響很嚴重,而且後續的修復不是很理想,讓我不得不思考Flash平臺。

使用相關技術,就得承擔相關風險!ExternalInterface.call出問題了,IE瀏覽器下中文傳到JS中變成亂碼了!找到這個問題時,已經有很多使用者在抱怨了,因為這個原因我們的XML格式的資料無法正確解析,造成系統無法登陸了!我們知道國內很多人都安裝360安全衛士、金山衛士這樣的軟體,而這次Flash Player 11.8.800.168的更新是和微軟一起釋出的補丁,安全軟體會提示該補丁讓使用者安裝,很快就有不少使用者安裝了這個補丁,對於擁有上百萬活躍使用者的系統來說,絕對算是一次災難!最後總算是在使用ExternalInterface.call的Flash端和JS端,對中文做編碼解碼解決了這個問題。

本來這還好,我們用了半天解決了這個問題,Adobe 3天后釋出了新版本Flash Player,也包含解決這個問題。3天對於Adobe來說也算比較快了,就這麼過去吧。可是更新了Flash Player 11.8.800.174後,又發現了修復這個問題引發的另一個問題:使用ExternalInterface.call調JS的方法時,如果JS有返回值,中文的返回值返回到Flash中,又成亂碼了!我可以說髒話嗎?What a fucking Adobe!

Flash Player 11.8.800.168 向JS中傳引數,是亂碼,但返回值還不是亂碼呢,到了174,返回值就成亂碼了!這很容易讓人想到責任和態度,如果Flash Player的團隊是積極的,應該很容易避免這個問題,相關測試應該要跟上吧!

雖然已經有一段時間沒有專注做Flash平臺相關的開發了,但Flash的更新我還是挺關注的,很多Flash所具有的特性我都覺得很贊。真希望Adobe不要誤了Flash的前程!

對於有感情的東西,很難說拋棄!所以我會繼續關注Flash平臺!