Ú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
- Milyen billentyűzetet vegyek?
- Samsung Galaxy S26 Ultra - fontossági sorrend
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- Milyen routert?
- Projektor topic
- ASZTALI GÉP / ALKATRÉSZ beárazás
- Hyundai, Kia topik
- Beperelte a Motorola a fél közösségi médiát
- Kertészet, mezőgazdaság topik
- Mini-ITX
- További aktív témák...
- ÁR ALATT "RTX 4090" GARANCIÁLIS GAMER LAPTOP! - i7-13700HX, RTX 4090, 32GB DDR5, 1TB SSD
- Stellar Blade PS5 / 1x kijátszott / Alza vásárlás
- MSI MPG 271QRX QD-OLED 360Hz 1440p Gamer Monitor Garanciás 2027.12.03-ig
- Samsung Galaxy S23 Ultra 512GB,Újszerű,Dobozaval,12 hónap garanciával
- Apple iPhone 15 Plus 256GB,Újszerű,Dobozaval,12 hónap garanciával
- darkFlash Shadow Pro
- VADIÚJ Microsoft Surface Pro 12 12" Snapdragon X Plus 16GB 256GB Tüzes Ezüst gar:2028.02.09.
- AKCIÓ! Intel Core i5 8500 6 mag 6 szál processzor garanciával hibátlan működéssel
- Kihagyhatatlan áron DELL XPS 13 9310 /i5-1135G7/8 GB Ram/512 GB SSD/FHD+ IPS
- AKCIÓ! Intel Core i7 6700K 4 mag 8 szál processzor garanciával hibátlan működéssel
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
