文章出處

今天游戲發布上線之后,總是隨機的出現卡死。

換了個safari之后,看到拋了 IOErrorEvent。

問題是,我所有的Loader都加入了contentLoaderInfo監聽。而拋出來的又沒有堆棧。

搞了半天之后,我決定所有刪除Loader的地方,都加入一個全局的IOErrorEvent看看到底是什么會是。最終看到如下的日志:

ArgumentError: Error #1063: com.xtar.loader.utils::DisplayObjectLoader$/globalIOErrorHandler() 的參數數量不匹配。應該有 0 個,當前為 1 個。

at flash.display::Loader/_unload()

at flash.display::Loader/unloadAndStop()

at _428_fla::MainTimeline/frame57()

at flash.display::MovieClip/gotoAndStop()

at com.xtar.loader.utils::XMovieClipInfoManager$/allGotoAndStop()

at com.xtar.loader.utils::XMovieClipInfoManager$/cacheBitmapMovie()

at com.xtar.loader.core::XMovieclipLoaderItem/privateLoaderComplete()

at flash.events::EventDispatcher/dispatchEventFunction()

at flash.events::EventDispatcher/dispatchEvent()

at com.xtar.loader.utils::DisplayObjectLoader/loadComplete()

at com.xtar.loader.utils::DisplayObjectLoader/loadByMovieclip()

at com.xtar.loader.utils::DisplayObjectLoader/loadByObject()

at com.xtar.loader.utils::DisplayObjectLoader/loadByLoader()

at MethodInfo-2473()

 

我不小心在IOErrorHandler參數寫錯了。但是正好,就這樣把我的堆棧打出來了。原來:

我的swf里面,播放到最后一幀的時候,會自動removeChild(this)。然后flash本身機制就會自動調用unloadAndStop。

然后loader就會自動拋出IOErrorEvent.

 

靠。這個明顯是flash設計的不人性化


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()