1. 程式人生 > >Egret原生打包App Protobuf二進位制以及一些列梗

Egret原生打包App Protobuf二進位制以及一些列梗

1、關於protobuf 二進位制巢狀repeated結構最多2層,protobuf 不能使用import繼承,對於巢狀三層嵌

會報錯 (illegal wire type for  field Message.filed.PlayerBattleInfo.name  0(2  expected))  他期望得到一個列表  但是隻返回的是數字

2、IOS的native效能很差,建議用webview實現。
3、IOS的Web版本聲音有破音,如果用第二條實現的,那麼聲音建議用oc程式碼實現。
4、setTimout等windows物件的偽全域性方法都不能跨平臺執行。
5、consolg、Math等可以跨平臺。
6、native的cacheAsBitmap有坑,使用請謹慎,尤其是在List下面。
7、PC平臺建議資源快取,不用的時候(比如場景切換)不要RES.destroyRes。而手機平臺如果資源過多,超過100M記憶體,建議加上RES.destroyRes。
8、TS和Java、OC互動是沒有方法返回值的,請注意。
9、龍骨動畫的快速模式表現和非快速模式不一樣,有坑,小心使用。
10、native平臺獲取資源路徑請用RES.VersionController,因為釋出版路徑和檔名變了。
11、匿名方法建議用lambda表示式寫,這種方式的this就是你想要的this(當前物件)。
12、mask屬性在安卓層有坑。
13、BitmapFillMode.REPEAT在native裡面不能用
14、視訊在native也暫時不支援
15、ENTER_FRAME監聽的方法不是儲存在EventDispatcher物件裡面,需要手動移除(深坑)
16、IOS8系統,非safari瀏覽器會隨機閃退(這是第三方瀏覽器用的是老的webview控制元件,如果快取wkwebview控制元件暫時沒發現這個現象)
17、打包Native  關於自定義元件  EXML不能繫結面板(深坑需謹慎),面板必須寫在面板對應的TS類裡
18、打包Native,關於EXML的控制元件不能在建構函式裡設定他的屬性     其他非建構函式裡必須先判非空

19、關於跨域請求 $ ajx   符號跟 $  jquery衝突   jquery應讓出$符號   瀏覽器跟Native一樣