🚀 What's New
🏠 Home screen: stats without the heavy load
The Home screen (dashboard panel with Today / Goal / Streak / Books Read, carousel
progress badges, estimated-time-left, read ribbon and the long-press book menu) no longer
needs the entire reading-statistics database in RAM.
Previously the device loaded the full stats store (~41 KB: all books + every reading
day + session log) just to show the Home panel. Now:
- ⚡ A lightweight
summary.jsonsnapshot is kept on the SD card with just what Home
needs: global totals (today, last 7/30 days, streak, max streak, books finished, daily
goal) plus a compact per-book badge (progress %, reading time, sessions, days, finished). - 🧠 Lazy loading: the full statistics store stays on the SD card at boot. It is only
loaded in RAM when a screen that really needs it opens (Reader, Reading Stats, Library,
Achievements…). - 🔄 Always fresh: the summary is regenerated automatically on every stats change and
on every save — nothing to configure, no data loss. If you upgrade from an older build,
the summary is created automatically on first boot. - ✅ All numbers stay correct: day rollover is handled (Today resets at midnight, the
streak expires properly), and opening a book still loads the real data before the first
page — reading history is never touched.
📊 Real memory improvement (measured on device)
| Metric | Before | After |
|---|---|---|
| 🟢 Free RAM | ~109 KB | ~149 KB |
| 🔵 Largest contiguous block (MaxAlloc) | ~86 KB | ~112 KB |
Example from the boot log after this update:
[INF] [MEM] Free: 149104 bytes, Total: 274128 bytes, Min Free: 134248 bytes, MaxAlloc: 114676 bytes
That's roughly +40 KB of free RAM at boot and a much larger contiguous block — which
means smoother cover rendering, less fragmentation, and more headroom for every activity
that opens afterwards.
✨ What else is in this build
- 🕵️ Faster Home entry — the Home panel and carousel appear without waiting for the
full stats load. - 🖼️ Carousel cache still hits — cached Home frames are reused and refreshed only
when progress actually changes. - 🛡️ Stability first — this change touches only how Home reads statistics; reading
sessions, stats tracking, backups and achievements work exactly as before.
💾 Your reading statistics, bookmarks, clippings and settings are preserved.
❤️ Support & Feedback
Found a bug or have a suggestion? Open an issue on the project repository.
Happy reading! 📖✨