Hirdetés
- sziku69: Fűzzük össze a szavakat :)
- Gurulunk, WAZE?!
- Luck Dragon: Alza kuponok – aktuális kedvezmények, tippek és tapasztalatok (külön igényre)
- Candy: AOOSTAR WTR PRO – NAS, alkoss, gyarapíts
- Luck Dragon: Asszociációs játék. :)
- NvidiaRTX: Xiaomi Electric Scooter 6 Max: Az első rollerem
- balojazz: Szódakészítés üzembiztosan és olcsón! Figyelem, csak hardcore szódázóknak!
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Parci: Milyen mosógépet vegyek?
- gerner1
Új hozzászólás Aktív témák
-
thon73
tag
válasz
WonderCSabo
#1116
üzenetére
Mindkettőtöknek nagyon köszönöm a segítséget; továbblökött a mélypontról. Ennyire nehéz hibakeresést még soha nem csináltam, ugyanis minden próbálkozás között újra kellett indítani a telót (ami kb. fél perc).
Bocsánat, az onPause irány véletlen volt (de egy fél nap keresés után már nem találtam más okot)
,valóban úgy tűnt, hogy az marad ki: a hiba CSAK leállításkor jelentkezett; az eclipse debugger nem követte ilyenkor az onPause-t (mint utóbb rájöttem: hiszen leállt), a Log-ot meg én bénáztam el. De a hozzászólásotok után végig belogoltam, és akkor kiderült, hogy onPause van, csak ami benne lenne - no az nincs.A tanulság kedvéért a hiba (egyébként utólag pofon egyszerű, de csapdás):
A program egy gigantikus RandomAccessFile-t ír/olvas az sd-n. (Ennyiben a felhasználói adatok azonnal kikerülnek.)
Az onPause részben (többek között) azt kell elmenteni, hogy valaki nem piszkál-e bele a RAF file-ba, amíg távol vagyunk. Ehhez mentem (név mellett) a méretét (File.length()) és az utolsó módosítás időpontját (File.lastModified()). Újraindításkor ezt ellenőrzi.
Ez a módszer prímán működik, amíg ki nem kapcsoljuk a telót.A gondot az jelentette, hogy a RandomAccessFile NEM szinkron írást csinál, sőt a close() után sem írja ki az adatokat! (Ezt bizonyára mindenki tudja, valószínűleg én is, csak nem gondoltam rá.) Véletlenül "rw" módot adtam meg az "rws" helyett.
Az érdekesség, hogy több hetes próbálgatás alatt is a nem-szinkron kiírás MINDIG bekövetkezett az onPause előtt, ha szabványosan léptem ki. Ha a telefont kikapcsoltam akkor SOHA nem következett be az aszinkron írás az onPause előtt (ezt két napja tudom).
((Megjegyzem, sehol nem találtam részletes dokumentációt arról, hogy pontosan mi és milyen sorrendben történik a kikapcsoláskor.))Van még egy probléma, ami komoly fejtörésre adhat okot: RandomAccessFile "rws" írásakor SEM stimmel a lastModified() érték a visszaolvasáskor!! Az esetek 90%-ban pontosan EGY másodperc (1000 ms) különbség van a két külön alkalommal visszaolvasott érték között!! Mivel a lastModified() érték MINDIG három 0-val végződik (vagyis nem ms, hanem másodperc pontos) valószínűleg a kerekítésnél lehet gond; de ezt nem tudom, csak gondolom. Hivatkozást nem találtam SGS2 és Note gépeken próbáltam.
Köszönöm, hogy kipróbáltátok, teljesen fals útról térítettek vissza; így jópár további óra alatt meglett a hiba!
Új hozzászólás Aktív témák
- ASUS RTX 3070 8GB GDDR6 TURBO - Új, 1 év garancia - Eladó!
- Gigabyte GAMER-ke FullHD IPS Core i7(8 3,4Ghz),GTX 2/6GB DDR5 128BIT VGA,16GB RAM/560GB-1TB SSD
- Omen 16-ap0192ng 16" FHD IPS Ryzen 9 8940HX RTX 5070 32GB 512GB NVMe gar
- EVGA RTX 3060 Ti 8GB GDDR6 XC GAMING Eladó!
- Asus 15.6,core i3 8145U(4x3,9Ghz)IntelUHD VGA,MAGYAR Vil.bill.,8-20GB RAM,SSD+HDD,,Win.11
- Apple iPhone 13 /128GB / Kártyafüggetlen / 12Hó Garancia / Akku: 100% Után gyártott Kijelző
- Részletfizetés BankMentes Kamatmentes 12 havi részlet Lenovo Legion Pro 7 27% Áfás számla
- AKCIÓ! AMD Ryzen 9 5900X 12mag 24szál processzor garanciával hibátlan működéssel
- Apple iPhone 16 Pro Max 256GB,Újszerű,Dobozaval,12 boával garanciával
- GAMER PC! Intel Ultra 7 265 / RTX 5070 / 32GB 6000MHz / 1TB Gen4 / 750w Gold!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
,valóban úgy tűnt, hogy az marad ki: a hiba CSAK leállításkor jelentkezett; az eclipse debugger nem követte ilyenkor az onPause-t (mint utóbb rájöttem: hiszen leállt), a Log-ot meg én bénáztam el. De a hozzászólásotok után végig belogoltam, és akkor kiderült, hogy onPause van, csak ami benne lenne - no az nincs.