Мы вызываем веб-сервисы для сбора информации для графа с примерно 1500 узлами. Мы отображаем график в Prefuse, в то время как он постоянно добавляет узлы и ребра. В большинстве случаев это работает отлично, но время от времени все приложение зависает, и единственный способ восстановить его — закрыть приложение и начать заново. Когда это происходит, исключения не распечатываются. В других случаях я довольно часто вижу «IllegalArgumentException: Invalid row index: -1», но это, похоже, не связано с зависанием приложения.
Я видел похожие вопросы о зависании в апплетах, но наше приложение работает в JFrame, а не в апплете. На всякий случай, если это была наша проблема, мы попытались вызвать ActivityManager.stopThread() (не смогли найти метод kill) в разных местах нашего кода. Это, кажется, не имеет большой разницы.
Существует ли безопасный способ для prefuse отображать график при редактировании графика?
kill()
, как рекомендовано в этой ветке? - person Andrew Thompson   schedule 16.01.2012stopThread()
в подробном руководстве указано Останавливает поток менеджера активности. Все запланированные действия отменяются, а затем поток уведомляется о прекращении выполнения. Звучит как хороший способ остановить действие, и без упоминанияThread.stop()
. ;) Что случилось, когда вы устали звонить? - person Andrew Thompson   schedule 16.01.2012