Codenameone 使用CircleProgress cn1lib时iOS应用程序崩溃
我的iOS应用程序在显示我使用CircleProgress cn1lib的表单时崩溃。同样,在Android上,这从一开始就运行良好 我使用CircleProgress将代码缩减为Codenameone 使用CircleProgress cn1lib时iOS应用程序崩溃,codenameone,Codenameone,我的iOS应用程序在显示我使用CircleProgress cn1lib的表单时崩溃。同样,在Android上,这从一开始就运行良好 我使用CircleProgress将代码缩减为 CircleProgress cp = new CircleProgress(); cp.setProgress(progress); 对于TableLayout容器中的几行,在for循环中调用该函数。 如果代码被注释,因此没有被使用,那么一切都可以正常工作 更新1 我仍然不知道错误在xcode中的确切位置,但是:
CircleProgress cp = new CircleProgress();
cp.setProgress(progress);
对于TableLayout容器中的几行,在for循环中调用该函数。
如果代码被注释,因此没有被使用,那么一切都可以正常工作
更新1
我仍然不知道错误在xcode中的确切位置,但是:
@史蒂夫·汉纳:
我自己发现了错误:如果进度设置为0,应用程序将崩溃
因此,这解决了我的问题:
if(progress > 0)
cp.setProgress(0);
通过不设置进度,它将默认显示进度为0的循环进度
更新2:
这个问题现在已经解决了。
如果您在xcode中出现了可再现的崩溃,您可以包含来自xcode的堆栈跟踪吗?我根据您描述的内容创建了一个测试用例,但似乎无法再现该问题。如果您可以生成一个小测试用例并将其发布到CN1问题跟踪器,我会看一看。我想到的唯一一件可能会导致这种情况的事情是在用户界面关闭EDT的情况下做一些事情。确保您在EDT上进行UI操作。嗨,Shai,我添加了由xcode“bt”命令生成的堆栈跟踪。嗨,Steve,我没有在任何地方生成线程,现在我在调用CircleProgress构造函数之前包含了“Display.getInstance().isEdt()”。我将尝试生成一个小测试用例,_isEdt()-方法在每次创建CircleProgress时都返回“true”。对于for循环中的5个循环进程,它被调用了5次。您是否也可以包括其他线程的堆栈跟踪?我想看看他们被困在哪里,特别关注EDT被困在哪里。