Description
Hi, I've been getting very frequent background crash reports from ParseOfflineDatastore
Termination Reason: Namespace SPRINGBOARD, Code 0xdead10cc
Termination Description: SPRINGBOARD com.xxx.xxx was task-suspended with locked system files: | /var/mobile/Containers/Shared/.../ParseOfflineStore | ProcessVisibility: Background | ProcessState: Suspended
Triggered by Thread: 0
My understanding is that Local Datastore has been basically a poorly supported, unscalable feature since it came out. (queries on 1000+ stored objects eats CPU like cotton candy)
Source: http://rawrmaan.com/why-parse-failed/ <- section on Local Datastore
-and I don't really expect this to get "fixed" soon.
However I wanted to post this here for future reference, if nothing else. I'm trying to see if there's anything I can do in my source code to stop the problem.
http://blog.supertop.co/post/152615019837/how-not-to-crash-1
This blog post explains that this crash code 0xdead10cc
comes from an SQLite locked file at the time the app is suspended. Perhaps Parse SDK can proactively close Local Datastore (unlocking the SQLite file) before app suspension.
I would remove Local Datastore (by not enabling it) from my app, but doing so would require huge changes that I'd prefer not to do right now. Thank you, anyone reading this!