Hirdetés
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- Azonnali notebookos kérdések órája
- AMD Navi Radeon™ RX 5xxx sorozat
- Home server / házi szerver építése
- Google Home/Nest
- AMD Ryzen 9 / 7 / 5 / 3 3***(X) "Zen 2" (AM4)
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- Milyen TV-t vegyek?
- Milyen billentyűzetet vegyek?
- Hogyan verte le egy telefon chip az egész laptop ipart? – x86 vs ARM
Új hozzászólás Aktív témák
-
thon73
tag
válasz
pittbaba
#522
üzenetére
Bocs, közben lemaradtam egy válaszról, de amit írtam, továbbra is érvényes.
Ennyire sztem. nem egyszerű. A doInBackground fut egyedül háttérszálon, ez tud egy értéket (melynek típusa beállítható pl. String) átadni, a már nem háttérszálon futó onPostExecute-nek. De ezt az értéket a fő szál csak úgy magától nem fogja megkapni.
Ugyanakkor a megkötés CSAK az UI elemekre vonatkozik, tehát pl. osztályváltozók a háttérszálról is irhatóak (amennyire tudom, a teljes Application (és szálai) egy heap-en helyezkednek el). A fondorlat abban van, hogy az AsyncTask osztály és a hívó Activity nem feltétlenül létezik ugyanabban az időpillanatban! Az érték átadásakor ezt figyelni kell, ez a legnagyobb buktató!
Ha egyszer elindul, akkor az AsyncTask osztály létezni fog addig, amíg fut v. hivatkozunk rá. Akkor is, ha a háttérszál befejeződött. Így az tűnik a legjobbnak, ha az eredményt egy AsyncTask osztályváltozó tartalmazza, és abból olvassa ki a hívó Activity. A nagy kérdés az, hogy miként értesül a fő Activity arról, hogy futás befejeződött. Ehhez be kell építeni egy Handlert, de akkor kérdéses, hogy érdemes-e AsyncTask-ot használni. Vagy: az AsyncTask get metódusa várakozik, amíg be nem fejeződik a futás. Ezt még nem próbáltam, kérdés, h. ez nem jelenti-e a fő szál leállítását (sztem igen). És akkor még mindig fel kell készíteni arra a fő activity-t, hogy pl. a kép elfordítása során újraindul, mégis ellenőrizze le, nem áll-e rendelkezésre egy kész AsyncTask eredmény.
((Az AsyncTask-kal kapcsolatos tapasztalatokról - mivel elsőre én sem értettem miként működik - írtam egy hosszabb cikket: [link]. Felmerült bennem a kérdés, hogy egyáltalán van-e valami előnye más megoldásokhoz képest.))
Új hozzászólás Aktív témák
- GAMER PC : RYZEN 9 9950X3D /// 64 GB DDR5 6400MHZ CL32 /// ROG ASTRAL RTX5090 32 GB /// 1+2 TB SSD
- Intel i5 és i7 procik (típusok és árak a leírásban)
- Új - iPhone 17 Pro 256 GB - Bontatlan - 1 év gyári Apple garancia
- ÚJ MagPower Pro 10000mAh MagSafe Powerbank I 20W Fast Charge I 2 év garancia! I Foxpost mehet!
- Új - iPhone 17 256 GB - Bontatlan - 1 év gyári Apple garancia
- AKCIÓ! 10TB WD Purple Pro SATA HDD meghajtó garanciával hibátlan működéssel
- CoolerMaster MM710 53gr pehelykönnyű gamer egér eladó
- iking.hu Apple iPhone 15 128GB Blue használt, karcmentes 100% akku 6 hónap garancia
- BESZÁMÍTÁS! ASUS STRIX B550 R5 5600 16GB DDR4 512GB SSD RTX 2080 SUPER 8GB Zalman S2 TG FSP 650W
- GeForce RTX 2060 (OEM HP) Garanciával
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

