最近項目上線googleplay,需要打64位包,由於unity l2cpp打包比mono慢很多,因此前期開發過程中都是用的mono打的32位包進行測試.結果64位包出來後發生各種莫名其妙的卡死,尤其是重載場景以後,幾乎必然出現
連上androidstudio查詢日誌,發現卡死的時候觸發了bugly,難道是bugly的bug導致的?
於是決定暫時去掉bugly,結果發現原來會觸發卡死的地方換成直接閃退了,看來bugly還真是有些影響.
但爲什麼會閃退呢?繼續找問題,去掉bugly後會得到一些沒什麼分析價值的崩潰堆棧信息:
這些信息對排查問題並沒有多少幫助.
通過搜索後發現有同學遇到類似的問題:
unity android64位閃退:
https://www.jianshu.com/p/9fa3e747a3b1
根據上文的提示,再去仔細看了看崩潰日誌,並沒找到libtolua相關的信息,難道是其它問題?
在沒有更多頭緒的前提下,我到tolua_runtime的github上去看了看,驚喜的發現在19年8月8日的時候,作者commit了一次提交:
修復arm64問題
@topameng
topameng committed on 8 Aug
https://github.com/topameng/tolua_runtime
喜出望外!
我用的是6月的版本,看來還真有可能是tolua運行庫導致的.
於是馬上動手重新編譯libtolua runtime運行庫,打包,測試,一切ok!
自此解決了這個問題.
在排查問題的過程中,順便研究了bugly死鎖有可能導致卡死的問題: