Comparative Analysis of Memory and Render Performance: BLoC vs Provider on Low-End Devices - Muhammad Albert Nur Agathon; Afina Lina Nurlaili; Muhammad Muharrom Al Haromainy (Komunitas Dosen Indonesia, 2025)
Mobile application performance is a critical determinant of user retention, yet optimization strategies for low-end hardware remain underexplored in the Flutter ecosystem. The choice of state management, specifically between Provider and BLoC, is a pivotal architectural decision affecting resource efficiency, particularly when integrated with Clean Architecture. Addressing the scarcity of empirical studies on constrained hardware, this research quantitatively compares the performance of these two libraries on a Vivo 1719 device running Android 7. Two identical Al-Qur'an applications were developed to facilitate a controlled experiment, isolating state management as the single variable. Performance metrics, including Resident Set Size (RSS), Garbage Collection (GC) frequency, and Frame Janks, were measured using Flutter DevTools during intensive scrolling and data loading scenarios. The results demonstrate that BLoC significantly outperforms Provider on low-end specifications. In the heaviest scenario, BLoC recorded lower peak memory usage (201.88 MB) compared to Provider (221.64 MB) and triggered 33% fewer GC events. Furthermore, BLoC reduced frame janks by 40% (15 janks vs. 21 janks). From a software engineering perspective, these findings indicate that BLoC's stream-based, event-driven architecture offers superior resource isolation compared to Provider's listener propagation mechanism, which tends to induce higher garbage collection overhead. Consequently, this study recommends BLoC as the preferred strategy for deployments targeting emerging markets, offering a worthwhile trade-off between development complexity and runtime stability to ensure broader digital inclusivity.