equinox
dynamic plugins > being a good dynamic plugin
How To Be A Good Plugin
Before a plugin is being deactivated, it has a chance of running some codes to
save its state and more importantly doing some cleanup! In order to help you doing
the cleanup, here is checklist that can help you.
Did you deallocate all the graphics you allocated: fonts, images, colors
Did you unregister the IAdapterFactory you created? See IAdapterManager.unregisterAdapters.
Did you unregister the IResourceChangeListener you created? See IWorkspace.removeResourceChangeListener.
Beside the instances created through createExecutableExtension(), who should
collect the other instances?
As a matter of example, which plugin is supposed to close the views: the
UI plugin, or the plugin providing the view?
Does a generic scheme to collect the instance exists?
When can a brute force cleanup mechanism be applied?