Priority & useWeakReference

Priority & useWeakReference sunt ultimii 2 parametri ai functiei addEventListener. Uita-te pe  Functia addEventListener inainte de a incepe sa citesti acest post.

Parametrul priority este de tip int, se refera la ordinea in care sunt tratate evenimentele care sunt atasate aceluiasi obiect. Evenimentul care are parametrul priority cel mai mare este tratat primul, sau mai clar, evenimentul care are parametrul priority n va fi tratat inaintea evenimentului cu priority n-1. Valoarea prestabilita a acestui parametru este 0. Uita-te la exemplele de mai jos ca sa iti faci o idee despre cum poate fi folosit acest parametru.

Exemplul 1:

objTest.addEventListener(MouseEvent.MOUSE_DOWN, onClickHandler1, false, 0);
objTest.addEventListener(MouseEvent.MOUSE_DOWN, onClickHandler2, false, 0);
function onClickHandler1(e:MouseEvent):void{
   trace("a fost apelata functia onClickHandler1");
}
function onClickHandler2(e:MouseEvent):void{
   trace("a fost apelata functia onClickHandler2");
}
//rezultat:
//a fost apelata functia onClickHandler1
//a fost apelata functia onClickHandler2

Exemplul 2:

objTest.addEventListener(MouseEvent.MOUSE_DOWN, onClickHandler1, false, 0);
objTest.addEventListener(MouseEvent.MOUSE_DOWN, onClickHandler2, false, 1);
function onClickHandler1(e:MouseEvent):void{
   trace("a fost apelata functia onClickHandler1");
}
function onClickHandler2(e:MouseEvent):void{
   trace("a fost apelata functia onClickHandler2");
}
//rezultat:
//a fost apelata functia onClickHandler2
//a fost apelata functia onClickHandler1

Ultimul parametru, useWeakReference, este de tip Boolean si este folosit pentru a spune compilatorului daca referinta catre ‘listener’ este puternica sau slaba. Daca un ‘listener’ are o referinta puternica (variabila useWeakReference este setat pe false, care este starea initiala) atunci el nu va fi preluat de garbage collector, cand se pierd toate referintele catre ‘listener’. Daca avem un ‘listener’ cu referinta slaba, atunci el va fi preluat de  garbage collector. Cu toate ca este preluat pentru a fi sters acest ‘listener’ este sters doar dupa umplerea memoriei rezervate pentru rularea aplicatiei.

1 thought on “Priority & useWeakReference”

Leave a Reply

Your email address will not be published. Required fields are marked *