- MIUI / HyperOS topik
- iPhone topik
- Szintet lép a Xiaomi Apple másolásban?
- 10 egyszerű trükk Samsung telefonokhoz
- Fotók, videók mobillal
- Sony WF-1000XM6 – ez évi etalon?
- Apple iPhone 17 Pro Max – fennsík
- Telekom mobilszolgáltatások
- Honor Magic6 Pro - kör közepén számok
- A Huawei február 26-án globálisan is bemutatja a Mate 80 Prót
Ú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
- Lenovo Thinkpad T495 Ryzen 5 PRO 3500U/8GB RAM/256 GB SSD/14" FHD Magyar bill. laptop
- Lenovo Thinkpad X390 i7-8665u/16GB RAM/512GB SSD/13.3"FHD Touch laptop eladó
- Legolcsóbban - Érintős Lenovo ThinkPad X1 Carbon Gen9: i5-1145G7/16GB/512Gb NVMe SSD/14"FHD IPS)!
- Legolcsóbban Bivaly Workstation Lenovo P15 (Core I7 10750H 32Gb 512Gb 4Gb Nvidia)
- MacBook Air 2024 m3 8gb/256gb
- Bomba ár! Dynabook Portege X30-F - i7-8565U I 16GB I 256SSD I 13,3" FHD I Cam I W11 I Garancia!
- Apple MacBook Air 13 (2020) M1 8GB/256GB használt, szép állapot 87% akku (317 ciklus)
- Beszámítás! ASUS ROG XBOX Ally X 24GB/1TB kézikonzol garanciával, hibátlan működéssel
- Dell Precision 7550 i7-10850H 32GB 1TB Nvidia RTX3000 6GB 1 év garancia
- Értékcsökkentett gamer alaplapok /ASUS/MSI/AM5/Számlával/
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


