Codename One应用程序适用于模拟器和Android,但在iPad和iphone上崩溃

时间:2016-06-21 15:51:43

标签: ios iphone ipad codenameone

我的代号为一个应用程序,在Android和模拟器上运行良好,但在我的iPad上没有。我已经在iPad和iPhone设备上进行了测试,它崩溃了。

在iPad(iPad3,4)上,我看到崩溃后生成的JetsamEvent事件。

This answer似乎表明这是一个内存问题,但我只在Apple设备(iPad和iPhone)上遇到此问题。

有人有任何建议来管理或改善我的应用程序的内存吗?

在我测试的所有类型的Android设备中,应用程序从未像这样崩溃。

崩溃总是很随意。崩溃后,我重复相同的操作,它不会崩溃。这完全是随机的。

提前致谢。

2 个答案:

答案 0 :(得分:0)

这样的崩溃报告没什么可做的,我建议使用Log类来跟踪崩溃实际发生的位置,并使用消除过程来确定哪一段代码负责崩溃。

答案 1 :(得分: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)