Я использовал mapbox sdk 6.3.0. Я могу добавить многоугольник на карту и разрешить пользователю перетаскивать его, изменив функцию, а затем обновив коллекцию функций следующим образом:
features.set(features.indexOf(oldFeature), newFeature);
symbolsSource.setGeoJson(symbolsCollection);
Все работало нормально.
Затем я попытался обновить SDK с 6.3.0 до 7.3.0. Затем внезапно при перетаскивании я получаю следующий сбой (прерывистый, но частый)
2019-04-29 17:58:03.119 24115-24204/com.app.fr.dev A/stresponder.de: java_vm_ext.cc:542] JNI ОБНАРУЖИЛ ОШИБКУ В ПРИЛОЖЕНИИ: не удается вызвать java.lang.String com. mapbox.geojson.Feature.id() для нулевого объекта 2019-04-29 17:58:03.119 24115-24204/com.app.fr.dev A/stresponder.de: java_vm_ext.cc:542] при вызове CallObjectMethodV 2019 -04-29 17:58:03.119 24115-24204/com.app.fr.dev A/stresponder.de: java_vm_ext.cc:542] "Thread-2368" prio=10 tid=65 Runnable 29.04.2019 17 :58:03.119 24115-24204/com.app.fr.dev A/stresponder.de: java_vm_ext.cc:542] | group="main" sCount=0 dsCount=0 flags=0 obj=0x1b740000 self=0x763d1b6800 2019-04-29 17:58:03.119 24115-24204/com.app.fr.dev A/stresponder.de: java_vm_ext.cc :542] | sysTid=24204 nice=-10 cgrp=default sched=0/0 handle=0x76385da4f0 2019-04-29 17:58:03.120 24115-24204/com.app.fr.dev A/stresponder.de: java_vm_ext.cc:542 ] | state=R schedstat=( 1253639661 195250540 1454 ) utm=117 stm=8 core=7 HZ=100 2019-04-29 17:58:03.120 24115-24204/com.app.fr.dev A/stresponder.de: java_vm_ext .cc:542] | stack=0x76384df000-0x76384e1000 stackSize=1009KB 2019-04-29 17:58:03.120 24115-24204/com.app.fr.dev A/stresponder.de: java_vm_ext.cc:542] | удерживаемые мьютексы = "блокировка мутатора" (общая удерживаемая)....
Нет журнала, который указывает на какую-либо точку в моем коде. Я надеюсь, что это может быть проблема с Mapbox SDK, потому что когда я вернусь к версии 6.3.0, она будет работать нормально. Я не могу точно определить фактическую проблему. Может ли кто-нибудь сказать мне, как на самом деле отладить такой сбой?
Пожалуйста, дайте мне знать, если я должен предоставить больше информации.
Заранее спасибо.
Изменить: это не дубликат nullpointer, потому что это не происходит с моим кодом. Это происходит внутри SDK Mapbox, как вы можете видеть из журнала. Также обратите внимание, что выданная ошибка является ошибкой JNI.