Codename One 应用程序在模拟器和 Android 上运行,但在 iPad 和 iPhone 上崩溃
Codename One application works on simulator and Android but crashes on iPad and iphones
我的代号 one 应用程序在 Android 和模拟器上运行良好,但在我的 iPad 上却不行。我已经在 iPad 和 iPhone 设备上进行了测试,但它崩溃了。
在 iPad (iPad3,4) 上,我看到 JetsamEvent
事件在崩溃后生成。
This answer 似乎表明这是内存问题,但我仅在 Apple 设备(iPad 和 iPhone)上遇到此问题。
有人对管理或改进我的应用程序的内存有任何建议吗?
在我测试的所有 Android 设备中,应用程序从未像这样崩溃过。
崩溃总是偶然的。崩溃后,我重复相同的操作,它没有崩溃。完全随机。
提前致谢。
这样的崩溃报告没什么可做的,我建议使用 Log
class 来跟踪崩溃实际发生的位置,并使用排除过程找出哪个一段代码导致崩溃。
经过大量测试,我发现问题出在 mapResponse 对象及其在 iOS 系统中的工作方式。
如果 mapResponse 很小,你可以这样做:
String resResponse=(String)mapResponse.get("RES");
iOS.
没问题
但如果响应很大(例如 4000 个字符),则 mapResponse.get("RES")
不是真正的字符串。仅使用该错误的字符串对象会使应用程序崩溃,例如:
if (resResponse != null && resResponse.startsWith("SUP"))
所以我必须像这样检查 mapResponse 对象是否为字符串:
isError=(objResp instanceof String)
我的代号 one 应用程序在 Android 和模拟器上运行良好,但在我的 iPad 上却不行。我已经在 iPad 和 iPhone 设备上进行了测试,但它崩溃了。
在 iPad (iPad3,4) 上,我看到 JetsamEvent
事件在崩溃后生成。
This answer 似乎表明这是内存问题,但我仅在 Apple 设备(iPad 和 iPhone)上遇到此问题。
有人对管理或改进我的应用程序的内存有任何建议吗?
在我测试的所有 Android 设备中,应用程序从未像这样崩溃过。
崩溃总是偶然的。崩溃后,我重复相同的操作,它没有崩溃。完全随机。
提前致谢。
这样的崩溃报告没什么可做的,我建议使用 Log
class 来跟踪崩溃实际发生的位置,并使用排除过程找出哪个一段代码导致崩溃。
经过大量测试,我发现问题出在 mapResponse 对象及其在 iOS 系统中的工作方式。
如果 mapResponse 很小,你可以这样做:
String resResponse=(String)mapResponse.get("RES");
iOS.
但如果响应很大(例如 4000 个字符),则 mapResponse.get("RES")
不是真正的字符串。仅使用该错误的字符串对象会使应用程序崩溃,例如:
if (resResponse != null && resResponse.startsWith("SUP"))
所以我必须像这样检查 mapResponse 对象是否为字符串:
isError=(objResp instanceof String)