SWT Tools : SLeak et SWT Spy

Lorsque que nous écrivons des interfaces graphiques avec SWT, il faut explicitement « disposer » les composants créés avec l’appel de la méthode dispose(). Or il se peut que nous oublions de libérer certains composants. Néanmoins il existe un outil qui peut nous permettre de vérifier que nous « disposons » correctement tous nos composants Cet outil est SLeak il est inclus dans les SWT Development Tools. Et nous pouvons l’utiliser pour nos applications RCP.  Pour cela la démarche à suivre est la suivante :

  1. Le télécharger, les différentes adresses  des P2 repositories  suivant les versions d’Eclipse sont indiqués à l’adresse suivante : https://www.eclipse.org/swt/updatesite.php
  2. Inclure le plug-in  dans notre launch configuration : org.eclipse.swt.tools
  3. Ajouter les options :
    org.eclipse.ui/debug=true
    org.eclipse.ui/trace/graphics=true

    Le plus simple pour cela reste à les sélectionner dans la tab tracing de notre launch configuration

    Sleak Launch configuration Tracing tab
    Sleak Launch configuration Tracing tab
  4. Ajouter la vue SLeak à notre perspective, par exemple :

    ​public class MainPerspective implements IPerspectiveFactory{
    public void createInitialLayout(final IPageLayout layout){
    IFolderLayout topRight = layout.createFolder("topRight", IPageLayout.RIGHT, 0.7f,layout.getEditorArea());
    IFolderLayout bottomRight = layout.createFolder("bottomRight", IPageLayout.BOTTOM, 0.5f, "topRight");
    topRight.addView("org.eclipse.swt.tools.views.SleakView");
    }}
  5. Nous pouvons ensuite lancer notre application et y trouver la vue SLeak. En cliquant sur snap puis diff nous pouvons voir les composants qui n’ont pas été disposé. La vue SWT Spy nous donne des informations SWT sur le composite en dessous de notre souris pour l’activer il faut ajouter la vue org.eclipse.swt.tools.views.SpyView.

    Les vues SLeak et SWT SPY
    Les vues SLeak et SWT SPY
  6. Il nous reste plus qu’à disposer les ressources que nous avons créé correctement.

PS : La source des SWT Tools est disponible ici : http://git.eclipse.org/c/platform/eclipse.platform.swt.git/tree/bundles/org.eclipse.swt.tools/

Publicités
SWT Tools : SLeak et SWT Spy