Eclipse RAP: лучший способ избавиться от виджетов?

Я новичок в Eclipse RAP и не имею опыта работы с SWT или Eclipse RCP. Но я понимаю, что разработчик несет ответственность за удаление виджетов SWT, потому что у них есть родные одноранговые узлы, которые блокируют ресурсы операционной системы.

Но как насчет «распоряжаться» в приложении RAP? Задача браузера — управлять ресурсами операционной системы (возможно, файловым диалогом). Таким образом, «распоряжаться» кажется ненужным для приложения, которое является чисто RAP, верно?

Теперь, если бы я хотел иметь один источник с SWT и RWT, то есть один и тот же исходный код работает как отдельное приложение RCP и как веб-приложение RAP. Как лучше всего использовать команду "утилизировать"? Как она должна запускаться? Что нужно утилизировать?


person StaticNoiseLog    schedule 31.07.2015    source источник
comment
Я нашел руководство по началу работы с RAP и единого источника. Он охватывает вопрос в главе 9 Ресурсы SWT. Руководство бесплатное, но требуется регистрация: eclipsesource .com/en/about/contact-us/ Итог: используйте классы *Registry, которые уже предоставляет JFace. Вместо того, чтобы самостоятельно управлять ресурсами, вы позволяете реестру делать всю работу. Ни инстанцирование, ни переработка ресурсов не должны выполняться вручную. Большим преимуществом является то, что этот подход можно использовать в RCP и RAP, поэтому нет необходимости иметь разные реализации.   -  person StaticNoiseLog    schedule 03.08.2015


Ответы (2)


Нет никакой разницы между SWT и SWT/RAP, когда дело доходит до удаления виджетов.

В то время как виджеты SWT содержат собственные системные ресурсы ОС/окна, пока они не удалены, виджеты RAP удерживают ресурсы браузера, то есть узлы DOM, пока они существуют. Удаляйте виджеты, когда они больше не нужны, и по возможности лениво создавайте виджеты.

person Rüdiger Herrmann    schedule 31.07.2015

Что касается того, что нужно удалить - все, что связано с методом dispose! Это все производное от Widget или Resource.

Удаление объектов, производных от Widget (элементы управления, композиты и т. д.), обычно выполняется автоматически при закрытии оболочки.

Удаление объектов, производных от Resource (например, Color, GC, Font,...) должно выполняться вашим кодом. Вы должны избавиться от них, как только они больше не нужны. Неспособность избавиться от этих объектов является распространенной ошибкой.

person greg-449    schedule 01.08.2015