Сегодня я попытался исследовать эту проблему: https://github.com/codenameone/CodenameOne/issues/2975 Я пишу здесь, чтобы спросить, как я могу точно найти, что идет не так. Эта ошибка разочаровывает.
В основном, только на iOS, у меня есть эта ошибка, которая возникает после некоторого случайного использования приложения:
java.lang.NullPointerException
at com_codename1_ui_Form.pointerReleased:3758
at net_informaticalibera_cn1_simpleapi_OuterForm.pointerReleased:360
at com_codename1_ui_Component.pointerReleased:4679
at com_codename1_ui_Display.handleEvent:2289
at com_codename1_ui_Display.edtLoopImpl:1214
at com_codename1_ui_Display.mainEDTLoop:1132
at com_codename1_ui_RunnableWrapper.run:120
at com_codename1_impl_CodenameOneThread.run:176
at java_lang_Thread.runImpl:153
Я переопределил метод pointerReleased
чтобы увидеть, являются ли x
и y
допустимыми значениями, когда выдается предыдущее исключение, это выглядит так:
@Override
public void pointerReleased(int x, int y) {
try {
super.pointerReleased(x, y);
} catch (Exception ex) {
Log.p("OuterForm.pointerReleased ERROR, x->" + x + ", y->" + y + ", https://github.com/codenameone/CodenameOne/issues/2975");
Log.e(ex);
SendLog.sendLogAsync();
}
}
Использование этого переопределения, эквивалентного функции защиты cra sh, после в первый раз, когда это исключение происходит, компоненты TextArea
перестают использоваться: нажатие на них не открывает ВКБ.
Короче говоря, внутри порта iOS есть NullPointerException
Form.pointerReleased
: как я могу узнать, какая строка этого метода вызывает исключение? Я надеюсь найти информацию, которая может помочь в устранении ошибки.