Как получить предупреждение, если какой-то код блокирует основной поток в SWT?

Я вижу много кода в Eclipse, который блокирует основной поток путем доступа к файловой системе или сети, вероятно, потому, что разработчик не получил предупреждение от SWT при его разработке.

Есть ли способ получить предупреждение, если какой-то код блокирует основной поток в SWT?

Я хотел бы посмотреть https://developer.android.com/reference/android/os/StrictMode.html для SWT.

1 ответ

  1. Нет инструмента для статического анализа SWT-кода и обнаружения кодовых проходов, блокирующих поток пользовательского интерфейса.

    Единственный способ найти код, который блокирует поток пользовательского интерфейса, — наблюдать за приложением во время выполнения.

    Если вы используете Eclipse workbench/IDE, вы можете включить мониторинг отзывчивости пользовательского интерфейса (настройки > > Общие > > мониторинг отзывчивости пользовательского интерфейса), чтобы найти код, который выполняется в потоке пользовательского интерфейса слишком долго.

    События SWT PreEventи PostEvent(зарегистрировать прослушиватели наDisplay) позволяют измерить время, которое занимает код приложения для обработки событий.