Self-Healing Navigation Graphs in Android Apps for Crash Recovery and Route Rehydration
DOI:
https://doi.org/10.63282/3050-9246.IJETCSIT-V6I3P112Keywords:
Android development, self-healing systems, navigation architecture, crash recovery, state preservation, route rehydration, adaptive navigation graphsAbstract
The increasing complexity of Android applications and their navigation systems has introduced critical challenges in maintaining application stability during crashes and ensuring seamless user experience restoration. Traditional navigation architectures in Android applications suffer from catastrophic failures when encountering unexpected crashes, configuration changes, or memory pressure situations, leading to complete navigation stack loss and poor user experience. This paper presents a comprehensive framework for implementing self-healing navigation graphs that automatically recover from crashes, preserve navigation state, and rehydrate user routes intelligently. Our research addresses compatibility crash problems where Android apps crash on certain Android versions but not on others, which is extremely challenging for app developers due to the fragmented Android ecosystem. The proposed self-healing architecture introduces adaptive state preservation mechanisms, intelligent crash detection algorithms, and dynamic route reconstruction capabilities that collectively reduce navigation-related crashes by up to 92% while maintaining seamless user experience across diverse Android configurations. These strategies have been validated across multiple Android API levels and device configurations, demonstrating their effectiveness in real-world deployment scenarios with millions of users
Downloads
References
[1] Android Developers, "Navigation | App architecture," Android Developer Documentation, 2024. Available: https://developer.android.com/guide/navigation
[2] Android Developers, "Navigation | Jetpack," Android Developer Documentation, 2024. Available: https://developer.android.com/jetpack/androidx/releases/navigation
[3] Google for Developers, "Navigation SDK for Android release notes," 2024. Available: https://developers.google.com/maps/documentation/navigation/android-sdk/release-notes
[4] ArXiv, "Recover as It is Designed to Be: Recovering from Compatibility Mobile App Crashes by Reusing User Flows," May 2024. Available: https://arxiv.org/html/2406.01339
[5] Stack Overflow, "Navigation component crash on rotate," 2024. Available: https://stackoverflow.com/questions/55686122/navigation-component-crash-on-rotate
[6] Stack Overflow, "Android Navigation library crash after sending data back," 2024. Available: https://stackoverflow.com/questions/58602194/android-navigation-library-crash-after-sending-data-back
[7] Stack Overflow, "Jetpack Compose navigation crashes app after orientation change," 2024. Available: https://stackoverflow.com/questions/78927851/jetpack-compose-navigation-crashes-app-after-orientation-change
[8] Medium, "Stop Android Navigation Crashes," January 2022. Available: https://medium.com/@romeo.prosecco/stop-android-navigation-crashes-57e366ecc7df
[9] Flutter Documentation, "Restore state on Android," 2024. Available: https://docs.flutter.dev/platform-integration/android/restore-state-android
[10] Lua Software, "Android Jetpack Navigation Fragment Lost State After Navigation," 2024. Available: https://code.luasoftware.com/tutorials/android/android-jetpack-navigation-lost-state-after-navigation/
[11] React Navigation, "Navigation state reference," 2024. Available: https://reactnavigation.org/docs/navigation-state/
[12] GitHub, "Flutter State Restoration fails to restore navigation stack [Android]," 2024. Available: https://github.com/flutter/flutter/issues/84193
[13] GitHub, "Navigation, Saving fragment state," January 2019. Available: https://github.com/android/architecture-components-samples/issues/530
[14] GitHub, "Not restoring state on Android when backgrounding and foregrounding and Activity is destroyed," React Navigation, 2024. Available: https://github.com/react-navigation/react-navigation/issues/5880
[15] React Navigation, "State persistence," 2024. Available: https://reactnavigation.org/docs/state-persistence/
[16] CIOPages, "The Ultimate Guide to Self-Healing Applications," May 2023. Available: https://www.ciopages.com/self-healing-applications/
[17] TechBeacon, "How to develop self-healing apps: 4 key patterns," January 2019. Available: https://techbeacon.com/app-dev-testing/how-develop-self-healing-apps-4-key-patterns
[18] ScienceDirect, "Self-healing components in robust software architecture for concurrent and distributed systems," January 2005. Available: https://www.sciencedirect.com/science/article/pii/S0167642304001893
[19] ResearchGate, "Towards Architecture-based Self-Healing Systems," November 2002. Available: https://www.researchgate.net/publication/221135384_Towards_Architecture-based_Self-Healing_Systems
[20] Microsoft Learn, "Design for self healing - Azure Architecture Center," 2024. Available: https://learn.microsoft.com/en-us/azure/architecture/guide/design-principles/self-healing
[21] Red Hat, "Accelerate your path to self-healing IT infrastructure," 2024. Available: https://www.redhat.com/en/resources/accelerate-self-healing-whitepaper
[22] Technology Conversations, "Self-Healing Systems," January 2016. Available: https://technologyconversations.com/2016/01/26/self-healing-systems/
[23] Red Hat Architect, "How to architect a self-healing infrastructure," January 2023. Available: https://www.redhat.com/architect/self-healing-infrastructure
[24] Enov8, "Self-Healing Applications," February 2023. Available: https://www.enov8.com/blog/self-healing-it-test-environments/
[25] ActiveBatch Blog, "Self-Healing IT Operations: What To Know To Get Started," February 2024. Available: https://www.advsyscon.com/blog/self-healing-it-operations/