Hirdetés
- Geri Bátyó: Ezt pedig azért, mert...
- gban: Ingyen kellene, de tegnapra
- Luck Dragon: Alza kuponok – aktuális kedvezmények, tippek és tapasztalatok (külön igényre)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Andras-G: Az internet veszélyei [2. rész] - Facebook Marketpalce
- ldave: New Game Blitz - 2026
- Luck Dragon: Asszociációs játék. :)
- aquark: Zsebszámológépek
- MasterDeeJay: Mi ez a pici videókártya? AMD E9173 teszt
- sziku69: Fűzzük össze a szavakat :)
Ú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
- G.SKILL Trident Z RGB 16GB (2x8GB) 3000MHz DDR4 kit / BESZÁMÍTÁS OK!
- Apple iPhone 12 64GB 100% Akku Újszerű,Dobozos,Tartozékaival. 1 Év Garanciával!
- Kingston HyperX Fury 2x4GB 1600MHz DDR3 kit
- Honor 400 Lite 8/256GB Újszerű,Kártyafüggetlen,Tartozékaival. 1 Év Garanciával!
- Samsung Galaxy S24 8/128GB Újszerű,Kártyafüggetlen,Tartozékaival. 1 Év Garanciával!
- 236 - Lenovo Legion Pro 7 (16IRX9H) - Intel Core i9-14900HX, RTX 4090
- Eladó EDIFIER ES prémium hangszórók ES300 / ES60 / ES20
- Apple iPhone SE 2022 64GB, Kártyafüggetlen, 1 Év Garanciával
- HIBÁTLAN iPhone 14 Pro 128GB Space Black-1 ÉV GARANCIA - Kártyafüggetlen, MS4420, 100% Akksi
- Creative Sound BlasterX G6 7.1 USB külső hangkártya
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
