- Milyen TV-t vegyek?
- VR topik
- Áramkiegyenlítőt fejlesztett a modern GeForce-okhoz az Aqua Computer
- A Sony szerint a PlayStation 5 konzolokat még nem érinti a memóriahiány
- Nem akármilyen új GeForce jöhet idén
- Egérpad topik
- Milyen monitort vegyek?
- Karnyújtásnyira került a százmilliomodik PlayStation 5 leszállítása
- Fejhallgató erősítő és DAC topik
- Kormányok / autós szimulátorok topikja
Ú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
- Crypto Trade
- exHWSW - Értünk mindenhez IS
- EAFC 26
- Milyen TV-t vegyek?
- Reklámok kikapcsolása Xiaomi, Redmi és Poco telefonokon
- VR topik
- Áramkiegyenlítőt fejlesztett a modern GeForce-okhoz az Aqua Computer
- A Sony szerint a PlayStation 5 konzolokat még nem érinti a memóriahiány
- Windows 11
- Hosszú premier előzetest kapott az Arknights: Endfield
- További aktív témák...
- ThinkPad T14s Gen2i 14" FHD IPS i7-1165G7 16GB 512GB NVMe magyar vbill ujjolv IR kam új akku gar
- Ps2,Ps3,Ps4,Ps5,Xbox360,Xbox one,Xbox series,PSP játékok
- Apple iPhone 16e 128 GB Black Garancia Beszámítás Házhozszállítás
- X1 Carbon 9th 14" FHD+ IPS i5-1135G7 16GB 256GB NVMe magyar vbill ujjolv IR kam gar
- Apple iPhone 13 128 GB Pink 1 év Garancia Beszámítás Házhozszállítás
- Xiaomi Redmi Pad 8,7 64GB, Wi-ti, 1 Év Garanciával
- GYÖNYÖRŰ iPhone 12 Pro 256GB Pacific Blue-1 ÉV GARANCIA -Kártyafüggetlen, MS4339, 100% Akksi
- iKing.Hu - Apple iPhone 15 Plus 128GB Black használt szép állapot 90% akku 6 hónap garancia
- Core I5 10400F, ASRock H510M-HDV/M.2 SE + 2x8GB DDR4 RAM
- HIBÁTLAN iPhone 14 Pro Max 256GB Space Black -1 ÉV GARANCIA - Kártyafüggetlen, MS4513
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
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.

