首页 > 解决方案 > 代号一将标签文本视为iOS中的字符串文字?

问题描述

我构建的应用程序是一个日记应用程序,用户可以返回并从日历页面查看他们以前的条目(附截图)。仅在 iPhone 上(Android 很好),单击大约 20 天后,应用程序崩溃。它不会通过电子邮件发送崩溃消息,所以我很确定它达到了内存限制。

在测试中,我保持所有逻辑相同,只删除了生成跨度标签以显示日志文本的部分。我仍在从数据库中提取文本,只是没有创建标签并显示它。它停止了崩溃。

所以我的问题是,我能做些什么来确保进入标签的文本不会存储在内存中,以便垃圾收集器可以删除它?

在此处输入图像描述

标签: javaioscodenameone

解决方案


您确定要从“正确的线程”关闭数据库吗?iOS 对用于数据库访问的线程非常敏感。还要确保先关闭游标,然后再关闭数据库。

我建议通过在游标方法中放置一个断点close()并查看是谁调用它来在模拟器上重现它。如果我们的终结器方法到达光标,那么您会遇到一个错误,即在您可以在模拟器中重现的某个地方留下一个打开的光标。此时,您可以记录每个游标打开,然后查看哪个游标没有被清理。确保所有光标开口都使用 finally 块进行防御性编码。


推荐阅读