KMPCharts/app/proguard-rules.pro
Trentin Davide e827deb806
Some checks failed
CI / build (push) Has been cancelled
perf(app): lighter stress demo + profileable release build
- StressTestScreen: use MinMaxLTTB LOD (caps output <= pixelWidth,
  ~half the vertices vs MinMax's ~2x) and move the sample generator
  loop to Dispatchers.Default so it stops contending with the UI thread.
- SignalGenerator: run the shared producer loop off the main thread.
- Add a release buildType (R8 + resource shrink, debuggable=false,
  debug-signed for on-device profiling); proguard-rules.pro needs no
  keeps (no kotlinx.serialization; Compose/coroutines ship consumer rules).
- minSdk 26 -> 24.

Off-main producer un-starves the feed (280 -> ~1300 push/s); release
build (AOT+R8) vs debug at matched load: CPU -12%, fps +48%.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-23 11:39:10 +02:00

12 lines
594 B
INI

# Release R8 rules for :app (profiling build).
#
# Intentionally minimal. Consumer rules ship with the libraries:
# - Jetpack Compose (androidx.compose.*) — bundled consumer R8 rules
# - kotlinx-coroutines — bundled consumer R8 rules (keeps ServiceLoader/volatile)
# - AGP auto-keeps the manifest entry point (.MainActivity)
#
# No kotlinx.serialization in this app (chart-realtime does not apply the
# serialization plugin), so no @Serializer keep rules are required.
#
# App-specific keeps are added below ONLY when a build/run failure proves them
# necessary. Do NOT blanket-keep.