Skip to content

1.5.0.9-dev6-cpr-vcodex-steroids

Latest

Choose a tag to compare

@marcoand75 marcoand75 released this 18 Aug 13:27
· 1 commit to master since this release

🚀 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.json snapshot 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! 📖✨