Main Article Content

Regawa Rama Prayoga
Alifia Syalsabila
Ghifari Munawar
Rahil Jumiyani

Abstract

A proper choice of state management library can increase the performance of the Flutter for Android application development. BLoC and Provider are the most popular state management libraries nowadays. Unlike setState, which rebuilds all widgets, the state management library allows apps to rebuild only those widgets that have state changes. However, it is not known yet how much it increased the performance by using BLoC or Provider as a state management library. This study focused on the effect of using state management libraries on the widget build process in Flutter. It was conducted by developing setState, BloC, and Provider. The performance was measured by CPU utilization, memory usage, and execution time. Experimental results show that applications that use BLoC result in (1) CPU utilization of 0.45% (2.14% more efficient), (2) memory usage of 23.27 MB (8.19% more efficient), and (3) execution time of 3.54 seconds (16.36% more efficient). The application that uses Provider results in (1) CPU utilization 0.54% (2.57% more efficient), (2) memory usage of 32.01 MB (11.27% more efficient), and (3) execution time of 4.10 seconds (19.44% more efficient). However, it should be noted that these results occur when BLoC and Provider are implemented in the leaf widget.

Downloads

Download data is not yet available.

Article Details

How to Cite
Prayoga, R. R., Alifia Syalsabila, Ghifari Munawar and Rahil Jumiyani (2021) “Performance Analysis of BLoC and Provider State Management Library on Flutter”, Jurnal Mantik, 5(3), pp. 1591-1597. Available at: https://iocscience.org/ejournal/index.php/mantik/article/view/1539 (Accessed: 29October2025).
References
[1] V. Katz, Mike; Moore, Kevin; Ngo, Flutter Apprentice (First Edition)_ Learn to Build Cross-Platform Apps.pdf. .
[2] “Introduction to widgets - Flutter.” https://flutter.dev/docs/development/ui/widgets-intro (accessed May 16, 2021).
[3] “State class - widgets library - Dart API.” https://api.flutter.dev/flutter/widgets/State-class.html (accessed Sep. 14, 2021).
[4] “Search results for state management.” https://pub.dev/packages?q=state+management (accessed May 26, 2021).
[5] “List of state management approaches - Flutter.” https://flutter.dev/docs/development/data-and-backend/state-mgmt/options (accessed May 16, 2021).
[6] “ISO 25010.” https://iso25000.com/index.php/en/iso-25000-standards/iso-25010 (accessed May 16, 2021).
[7] I. G. I. Publishing, “Mobile Application Benchmarking Based on the Resource Usage Monitoring,” pp. 64–75, 2009, doi: 10.4018/jmcmc.2009072805.
[8] B. Wisnuadhi, G. Munawar, and U. Wahyu, “Performance Comparison of Native Android Application on MVP and MVVM,” no. January, 2020, doi: 10.2991/aer.k.201221.047.
[9] N. S. Sibarani, G. Munawar, and B. Wisnuadhi, “Analisis Performa Aplikasi Android Pada Bahasa Pemrograman Java dan Analisis Performa Aplikasi Android Pada Bahasa Pemrograman Java dan Kotlin,” 9th Ind. Res. Work. Natiomal Semin., no. Juli, pp. 319–324, 2018.
[10] “Flutter | Using the Memory view.” https://flutter.dev/docs/development/tools/devtools/memory (accessed Sep. 14, 2021).
[11] “Overview of memory management | Android Developers.” https://developer.android.com/topic/performance/memory-overview (accessed Aug. 16, 2021).
[12] R. Zhou, S. Shao, W. Li, and L. Zhou, “How to define the user’s tolerance of response time in using mobile applications,” IEEE Int. Conf. Ind. Eng. Eng. Manag., vol. 2016-Decem, pp. 281–285, 2016, doi: 10.1109/IEEM.2016.7797881.