Как получить предупреждение, если какой-то код блокирует основной поток в SWT?
Я вижу много кода в Eclipse, который блокирует основной поток путем доступа к файловой системе или сети, возможно, потому, что разработчик не получил предупреждение от SWT при его разработке.
Есть ли способ получить предупреждение, если какой-то код блокирует основной поток в SWT?
Я хотел бы видеть https://developer.android.com/reference/android/os/StrictMode.html для SWT.
1 ответ
Нет инструмента для статического анализа кода SWT и обнаружения фрагментов кода, которые блокировали бы поток пользовательского интерфейса.
Единственный способ найти код, который блокирует поток пользовательского интерфейса, - это наблюдать за приложением во время выполнения.
Если вы используете Eclipse Workbench/IDE, вы можете включить мониторинг отзывчивости пользовательского интерфейса (" Предпочтения" > " Общие" > " Мониторинг реагирования пользовательского интерфейса"), чтобы найти код, который выполняется в потоке пользовательского интерфейса слишком долго.
SWT события PreEvent
а также PostEvent
(зарегистрировать слушателей на Display
) позволяет измерять время, которое код приложения занимает для обработки событий.