2016-06-21 63 views
1

我的代號是一個應用程序,在Android和模擬器上運行良好,但在我的iPad上卻沒有。我已經在iPad和iPhone設備上測試過,並且崩潰了。Codename一個應用程序在模擬器和Android上運行,但在iPad和iPhone上崩潰

在iPad(iPad3,4)上,我看到在碰撞後產生的事件JetsamEvent

This answer似乎表明它是內存問題,但我僅在Apple設備(iPad和iPhone)上遇到此問題。

任何人有任何建議來管理或改善我的應用程序的內存?

在我測試的所有類型的Android設備中,應用程序都不會像這樣崩潰。

這次事故總是偶然的。事故發生後,我重複相同的操作並且不會崩潰。這完全是隨機的。

在此先感謝。

+0

這是我不清楚如果崩潰立即啓動或在其他點。無論我會建議覆蓋您所調用的基本功能,這可能會提供一些線索,看哪裏出錯了。 –

回答

0

經過大量測試後,我發現問題出在了mapResponse對象以及它如何在iOS系統中工作。 如果mapResponse很小,可以這樣做: String resResponse=(String)mapResponse.get("RES");在iOS中沒有問題。

但是,如果響應很大(例如4000個字符),則mapResponse.get("RES")不是真正的字符串。只有虛假String對象的工作應用程序崩潰,例如:

if (resResponse != null && resResponse.startsWith("SUP")) 

所以我要檢查,如果mapResponse對象是字符串或不喜歡這樣的:

isError=(objResp instanceof String) 
0

這樣的崩潰報告沒有太多要做,我建議使用Log類來跟蹤實際發生的崩潰的位置,並使用消除過程來找出哪一段代碼是造成崩潰的原因。

+0

經過大量測試後,我發現問題出在mapResponse對象上,以及它如何在iOS系統中工作。 如果mapResponse很小,可以這樣做:String resResponse =(String)mapResponse.get(「RES」);沒有問題, 但是,如果響應很大,只管理String對象崩潰應用程序: if(resResponse!= null && resResponse.startsWith(「SUP」)) 因此,我必須檢查mapResponse對象是字符串還是不是這樣的: isError =(objResp instanceof String) – karrtojal

相關問題