Sündmused laaditakse ja käivitatakse põhilõimes ning kui esimene sündmus põhilõimel pole lõppenud, jõuad teise sündmuseni, nagu teisedki põhilõime programmid, ootad, kuni eelmine protsess lõpetab, enne kui töödeldakse järgmist või teist programmi või sündmust põhilõimes.
Ülaltoodud on see, et ma kapseldasin objekti ise ja objekti sees kapseldasin ise sündmuse.
Töötlen andmeid sündmuste tellimise meetodil, näiteks pildi annotatsiooni osa,
Sest sündmus, millele olin tellinud, oli lugetud txt-fail ja minu txt-failis oli 50 000 rida, mis põhjustas sündmuse meetodi käivitamise 50 000 korda.
Kui ma programmi käivitasin, avastasin, et mu liides oli peatatud animatsioonis ja ma teadsin, et seal peab olema mingi probleem.
Alguses arvasin, et liidese juhtimise manipuleerimine meetodis põhjustas võltsitud surma.
Seejärel avastati samm-sammult, et andmete lisamisel oli see juba sisenenud peatatud animatsiooni seisundisse.
Miks??? Lõpuks sain internetist teada, et sündmus on põhiteemas ja kui esimest sündmust ei töödelda, blokeerib see järgmise sündmuse täitmise,
Ma mõistsin üldiselt, mida ma käskisin, otse öeldes – 50 000 sündmust põhjustas programmi blokeerimise ja siis sattusin peatatud animatsiooni seisundisse.
Lahus:
Mõne lihtsa sündmuse puhul, mis ei vii suure hulga sündmuste täitmiseni, saab metoodikuid otse sündmuste meetodisse kirjutada.
Paljude sündmuste meetodite puhul loodan, et avad lõime, et sellega tegeleda, näiteks: socket või httplistener jne. (andmemaht on väike ja sa ei näe seda, kui andmemaht on suur, haha, siis see sureb otse)
|