Skip to content

v2.4.0

Latest

Choose a tag to compare

@afreakyelf afreakyelf released this 16 Mar 05:37
· 1 commit to master since this release

Cache strategy alignment and regression coverage

This release aligns the three cache strategies with their intended behavior and adds regression coverage around caching, rendering, and embedded-view lifecycle cleanup.

What changed

  • MAXIMIZE_PERFORMANCE now clearly behaves as the high-retention mode:
    • reuses downloaded remote PDFs
    • keeps page bitmaps in memory and on disk
    • keeps prefetch enabled
  • MINIMIZE_CACHE now behaves as a reduced-storage mode:
    • reuses the current remote PDF
    • keeps page bitmaps in memory only
    • disables disk page-bitmap caching
    • retains only one document cache on disk
  • DISABLE_CACHE now behaves as a transient mode:
    • does not reuse persistent remote files
    • disables disk page-bitmap caching
    • disables prefetch
    • still keeps visible rendering correct

Bug fixes included

  • Fixed incorrect remote cache retention and reuse behavior across cache strategies.
  • Fixed DISABLE_CACHE so transient remote sessions no longer interfere with or delete persistent cache from other strategies.
  • Fixed embedded PdfRendererView.initWithUrl(...) cleanup so transient remote files are cleaned up on lifecycle destroy, not only in PdfViewerActivity.
  • Fixed stale disk page-bitmap artifacts when reopening the same document under a stricter cache strategy.
  • Hardened render job and callback bookkeeping in PdfRendererCore with minSdk-21-safe logic.

Testing and regression coverage

  • Added a dedicated internal CachePolicy layer to centralize strategy behavior.
  • Added unit tests covering:
    • cache policy mapping
    • document retention rules
    • transient cleanup behavior
  • Added hermetic instrumentation coverage for:
    • local PDF behavior under all three strategies
    • remote PDF reuse vs non-reuse
    • embedded PdfRendererView lifecycle cleanup
    • strategy downgrade behavior for stale disk bitmap cache
  • Added a debug-only embedded host activity used to verify PdfRendererView cleanup outside PdfViewerActivity.

Compatibility

  • No public API breaking changes.
  • Existing CacheStrategy APIs remain the same; behavior is now more consistent and predictable.