Skip to content

AppManager_v4.0.5-DEBUG#151

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 29 Dec 00:00
· 410 commits to master since this release

Debug Build MuntashirAkon#151

Version: v4.0.5
Commit: 8243d77

Changes:

perf: Fix app startup freezing by optimizing list loading

This commit addresses severe UI freezing during app startup when loading
large app lists (1000+ items). Two critical bottlenecks were identified:

  1. DiffUtil blocking main thread: DiffUtil.calculateDiff() has O(N*M)
    complexity and was taking 200-1000ms for thousands of apps, completely
    freezing the UI. Solution: Use fast batch updates for large lists (>100
    items) and reserve DiffUtil only for small lists where animations matter.

  2. Excessive animations on initial load: Creating 1000+ animation objects
    simultaneously (alpha/scale animations for every item) overwhelmed the
    rendering pipeline. Solution: Skip animations during initial bulk load,
    enable them only for subsequent updates.

Performance Impact:

  • Before: 5-15 second freeze on startup with 2000+ apps
  • After: ~500-1500ms smooth load (cache) or 3-5s (database)
  • Savings: ~1-2 seconds from animation removal, ~200-1000ms from DiffUtil fix

Changes:

  • AdapterUtils: Add threshold-based path selection (fast vs DiffUtil)
  • MainRecyclerAdapter: Add mIsInitialLoad flag to skip animations

🤖 Generated with Claude Code

Co-Authored-By: Claude Sonnet 4.5 noreply@anthropic.com


🤖 Automatically generated debug build