skip to main content
10.1145/3548636.3548655acmotherconferencesArticle/Chapter ViewAbstractPublication PagesitccConference Proceedingsconference-collections
research-article

Memory Usage Comparison in an Android Application: Basic Object-Oriented Programming vs Decorator Design Pattern: Coding styles for keeping low memory usage in a mobile application.

Published:23 August 2022Publication History

ABSTRACT

This paper explores how an Android application consumes memory when it is developed by two approaches: basic object-oriented programming versus decorator design pattern. Somehow programmers develop applications based on their coding experience without concern of memory usage especially in mobile applications which memory consumption is a critical issue. The deployed Android application of a list of temples which join a Candle Festival is selected as a case study. New functions are assumingly required by users so that the application could provide more services. Two class diagrams are designed based on basic object-oriented programming and based on decorator design pattern before implementation of the two approaches. The problem is what is the better approach for handling an increasing number of services after the application has been deployed. So that the application still consumes less memory as possible. The case-study applications retrieve information from a free REST API. Memory usage is measured by using an emulator and a physical device. The result shows that an Android application which developed by using decorator design pattern consumes more memory although its codes are cleaner and easier to read. Therefore, when a developer applies decorator design pattern, they should pay more attention on unexpected effect of the design pattern. Research in impact of design patterns should also be investigated more.

Skip Supplemental Material Section

Supplemental Material

References

  1. Erich Gamma, Richard, Helm, Ralph Johnson, and John Vlissides. 1994. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley.Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Diaeddin Rimawi and Samer Zein. 2019. A Model Based Approach for Android Design Patterns Detection. In proceeding of the 3rd International Symposium on Multidisciplinary Studies and Innovative Technologies (ISMSIT).Google ScholarGoogle Scholar
  3. Andreas Karavokyris and Efthimios Alpis. 2018. Software Measures for Common Design Pattern Using Visual Studio Code Metrics. In proceedings of the International Conference on Information, Intelligence, Systems and Applications.Google ScholarGoogle Scholar
  4. K. Srikala. 2019. Flexible and Extensible Design Patterns of Software. Indian Journal of Engineering and Sciences.Google ScholarGoogle Scholar
  5. Carmine Gravino and Michele Risi. 2017. How the use of design patterns affects the quality of software systems: a preliminary investigation. In proceeding of the 43rd Euromicro Conference on Software Engineering and Advanced Applications.Google ScholarGoogle Scholar
  6. Jonathan W. Lartigue and Richard Chapman. 2018. Comprehension and Application of Design Patterns by Novice Software Engineers. In proceeding of the Annual ACM Southeast Conference (ACMSE) Article No. 24.Google ScholarGoogle Scholar
  7. Sanchez D., Mendez O., Florez H. 2018. An Approach of a Framework to Create Web Applications. Lecture Notes in Computer Science, vol. 10963. Springer, Cham.Google ScholarGoogle Scholar
  8. Dong Kwan Kim. 2018. Development of Mobile Cloud Applications using UML. International Journal of Electrical and Computer Engineering (IJECE) Vol. 8, No. 1, February, pp. 596∼604.Google ScholarGoogle ScholarCross RefCross Ref
  9. Bambang Wisnuadhi, Ghifari Munawar, Ujan Wahyu. 2020. Performance Comparison of Native Adnroid Application on MVP and MVVM. In proceeding of the International Seminar of Science and Applied Technology (ISSAT 2020), Advances in Engineering Research, volume 198.Google ScholarGoogle Scholar
  10. Mariam Aljamea, and Mohammad Alkandari. 2018. MMVMi: A Validation Model for MVC and MVVM Design Patterns in iOS Applications. IAENG International Journal of Computer Science, 45:3.Google ScholarGoogle Scholar
  11. Thomas Dorfer, Lukas Demetz, Sefan Huber. 2020. Impact of mobile cross-platform development on CPU, memory, and battery of mobile devices when using common mobile app features. In proceeding of the 17th International Conference on Mobile Systems and Pervasive Computing (MobiSPC).Google ScholarGoogle Scholar
  12. T. Hidayat and B. D. Sungkowo. 2020. Comparison of Memory Consumptive Against the Use of Various Image Formats for App Onboarding Animation Assets on Android with Lottie. In proceeding of the 3rd International Conference on Computer and Informatics Engineering (IC2IE) JSON. 376-381. 10.1109/IC2IE50715.2020.9274612.Google ScholarGoogle Scholar
  13. Sabiyath Fatima, N., Steffy, D., Stella, D., Nandhini Devi, S. 2020. Enhanced Performance of Android Application Using RecyclerView. In: Pati, B., Panigrahi, C., Buyya, R., Li, KC. (eds) Advanced Computing and Intelligent Engineering. Advances in Intelligent Systems and Computing, vol 1089. Springer, Singapore. https://doi.org/10.1007/978-981-15-1483-8_17Google ScholarGoogle Scholar
  14. Wasana Ngaogate (2020). Integrating Flyweight Design Pattern and MVC in Development of Web Application. In proceeding of the 2nd International Conference on Information Technology and Computer Communications, August 12-14, 2020.Google ScholarGoogle Scholar
  15. Soude Ghari, Mahsa Hadian, Mohammadreza Rasolroveicy, and Marios Fokaefs. 2019. A multi-dimensional quality analysis of Android applications. In proceeding of the 29th Annual International Conference on Computer Science and Software Engineering (CASCON '19). IBM Corp., USA, 34–43.Google ScholarGoogle Scholar
  16. Degu, Abebaw. 2019. Android Application Memory and Energy Performance: Systematic Literature Review. Journal of Computer Engineering (IOSR-JCE) e-ISSN: 2278-0661,p-ISSN: 2278-8727, Volume 21, Issue 3, Ser. V (May - June 2019), PP 20-32 10.9790/0661-2103052032.Google ScholarGoogle Scholar
  17. Aryo Pinandito, Agi Putra Kharisma and Rizal Setya Perdana. 2018. Framework Design for Map-Based Navigation in Google Android Platform. Journal of Telecommunication, Electronic and Computer Engineering, Vol. 10 No. 1-8.Google ScholarGoogle Scholar
  18. Jonathan W. Lartigue and Richard Chapman. 2018. Comprehension and Application of Design Patterns by Novice Software Engineers. The Annual ACM Southeast Conference (ACMSE) Article No. 24.Google ScholarGoogle Scholar
  19. Carmine Gravino and Michele Risi. 2017. How the use of design patterns affects the quality of software systems: a preliminary investigation. In proceeding of the 43rd Euromicro Conference on Software Engineering and Advanced Applications.Google ScholarGoogle Scholar
  20. Daniel Feitosa, et.al. 2019. What can violations of good practices tell about the relationship between GoF patterns and run-time quality attributes. Information and Software Technology 105 1–16.Google ScholarGoogle Scholar
  21. Muhammad Noman Riaz 2018. Impact of Software Design Patterns on the Quality of Software: A Comparative Study. In proceedings of the International Conference on Computing, Mathematics and Engineering Technologies – iCoMET.Google ScholarGoogle Scholar
  22. Apostolos Ampatzoglou, et.al. 2015. The Effect of GoF Design Patterns on Stability: A Case Study. IEEE Transactions on Software Engineering Volume: 41, Issue: 8.Google ScholarGoogle Scholar
  23. Muhammad Noman Riaz. 2018. Impact of Software Design Patterns on the Quality of Software: A Comparative Study. In proceeding of the International Conference on Computing, Mathematics and Engineering Technologies – iCoMET.Google ScholarGoogle Scholar
  24. Apostolos Ampatzoglou, et.al. 2015. The Effect of GoF Design Patterns on Stability: A Case Study. IEEE Transactions on Software Engineering Volume: 41, Issue: 8.Google ScholarGoogle Scholar
  25. Sofia Charalampidou, et.al. 2017. A theoretical model for capturing the impact of design patterns on quality: the decorator case study. In proceeding of the Symposium on Applied Computing SAC17 Pages 1231-1238.Google ScholarGoogle Scholar

Index Terms

  1. Memory Usage Comparison in an Android Application: Basic Object-Oriented Programming vs Decorator Design Pattern: Coding styles for keeping low memory usage in a mobile application.

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Other conferences
      ITCC '22: Proceedings of the 4th International Conference on Information Technology and Computer Communications
      June 2022
      138 pages
      ISBN:9781450396820
      DOI:10.1145/3548636

      Copyright © 2022 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 23 August 2022

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article
      • Research
      • Refereed limited
    • Article Metrics

      • Downloads (Last 12 months)29
      • Downloads (Last 6 weeks)3

      Other Metrics

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    HTML Format

    View this article in HTML Format .

    View HTML Format