-
Notifications
You must be signed in to change notification settings - Fork 533
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Persistent cache system #7
Comments
This is blocked on #4. |
Also: we intend to use this system for storing the topic list rather than moving it to sqlite (for now) to keep things simpler. For later topic searching, we may want to move these structures to sqlite. |
Open question: will this solution be sufficient for a no-sql-esque storage for the prototype and maybe even the MVP? |
This is also blocked on #6. |
Because of #86, this can be pushed back to prototype. The initial iteration of this will be done as part of proof-of-concept. |
This is blocked on #86. |
This is essentially complete. There are improvements that can be made (many of which are noted as an extension to add network support per #103), but the core utility works reasonably well and will need to be stabilized in the coming months. |
A replacement is needed to SharedPreferences for storing settings and generally caching data since SharedPreferences executes on the main thread which can block the UI rendering and cause ANRs. It's instead recommended to use a proto-backed storage mechanism that relies on background threads (likely via the threading library described below) to perform the I/O. Using proto allows the data structure to be trivially updated to a new structure upon app update without requiring an upgrade flow. Such a system should be strict-mode compliant (that is, does not perform any I/O or long-running operations on the main thread).
The text was updated successfully, but these errors were encountered: