# geniusvjr/learningnotes

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/geniusvjr-learningnotes).**

13,145 stars · 3,941 forks

## Links

- GitHub: https://github.com/GeniusVJR/LearningNotes
- awesome-repositories: https://awesome-repositories.com/repository/geniusvjr-learningnotes.md

## Description

LearningNotes is a technical knowledge base and engineering study guide focused on Android framework internals, system architecture, and mobile performance optimization. It serves as a reference for analyzing the Android boot sequence, process bootstrapping, and system service initialization.

The project provides detailed guides on mobile performance, including strategies for reducing memory footprints, identifying memory leaks, and optimizing image decoding. It further covers Android inter-process communication using AIDL and the Binder kernel driver, as well as software architecture manuals for decoupling business logic from user interfaces through patterns like MVVM and MVP.

Beyond mobile development, the repository includes a computer science knowledge base for technical interview preparation, covering data structures, algorithms, and operating system concepts. It also features a practical reference for Git version control, detailing repository management, synchronization, and branching workflows.

## Tags

### Education & Learning Resources

- [Android OS Internals](https://awesome-repositories.com/f/education-learning-resources/framework-internals-studies/android-os-internals.md) — Provides a comprehensive technical study of Android boot sequences, process bootstrapping, and system server initialization. ([source](https://github.com/geniusvjr/learningnotes#readme))
- [Algorithm and Data Structure Guides](https://awesome-repositories.com/f/education-learning-resources/algorithm-and-data-structure-guides.md) — Provides educational resources and practice for solving classic coding challenges via core data structures and algorithms. ([source](https://github.com/geniusvjr/learningnotes#readme))
- [Computer Science Interview Guides](https://awesome-repositories.com/f/education-learning-resources/computer-science-interview-guides.md) — Catalogs core concepts in data structures, algorithms, and operating systems for technical interview preparation. ([source](https://github.com/geniusvjr/learningnotes#readme))
- [Framework Internals Studies](https://awesome-repositories.com/f/education-learning-resources/framework-internals-studies.md) — Offers educational studies on the internal architecture and core mechanisms of the Android framework. ([source](https://github.com/geniusvjr/learningnotes#readme))
- [Java Virtual Machine Learning Resources](https://awesome-repositories.com/f/education-learning-resources/java-virtual-machine-learning-resources.md) — Offers technical guides on JVM internals, memory management, and concurrency primitives for performance optimization. ([source](https://github.com/geniusvjr/learningnotes#readme))
- [Language Learning Guides](https://awesome-repositories.com/f/education-learning-resources/language-learning-guides.md) — Provides detailed guides on Java programming concepts, memory models, and concurrent programming. ([source](https://github.com/geniusvjr/learningnotes#readme))
- [Performance Optimization Guides](https://awesome-repositories.com/f/education-learning-resources/performance-optimization-guides.md) — Provides educational resources for analyzing and improving mobile performance, focusing on memory leaks and UI rendering.
- [Technical Interview Preparation](https://awesome-repositories.com/f/education-learning-resources/professional-development-career/career-development/career-advancement-resources/technical-interview-preparation.md) — Provides structured study materials and methodologies for succeeding in technical hiring assessments and professional resumes. ([source](https://github.com/geniusvjr/learningnotes#readme))
- [Computer Science Fundamentals](https://awesome-repositories.com/f/education-learning-resources/technical-foundation-reviews/computer-science-fundamentals.md) — Documents essential computer science fundamentals including data structures, algorithms, networking, and operating systems. ([source](https://github.com/geniusvjr/learningnotes#readme))
- [Technical Interview Preparation](https://awesome-repositories.com/f/education-learning-resources/technical-interview-preparation.md) — Catalogs core data structures, algorithmic patterns, and OS concepts for technical engineering interview preparation.

### Repository Format

- [Awesome List](https://awesome-repositories.com/f/repository-format/awesome-list.md) — A community-curated directory that catalogs and links out to other open-source projects, rather than a standalone tool you run yourself.

### Graphics & Multimedia

- [Image Downsampling](https://awesome-repositories.com/f/graphics-multimedia/image-downsampling.md) — Implements image downsampling during decoding by calculating sample size ratios to prevent memory overflows. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/Bitmap%E7%9A%84%E5%88%86%E6%9E%90%E4%B8%8E%E4%BD%BF%E7%94%A8.md))
- [Bitmap Decoding](https://awesome-repositories.com/f/graphics-multimedia/bitmap-decoding.md) — Provides guides on converting image data from streams and files into bitmap objects for display. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/Bitmap%E7%9A%84%E5%88%86%E6%9E%90%E4%B8%8E%E4%BD%BF%E7%94%A8.md))
- [Image Memory Optimizations](https://awesome-repositories.com/f/graphics-multimedia/image-memory-optimizations.md) — Reduces memory consumption during the image loading process by applying boundary compression techniques. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/Android%E5%85%B3%E4%BA%8Eoom%E7%9A%84%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88.md))

### Mobile Development

- [Android App Architecture Patterns](https://awesome-repositories.com/f/mobile-development/android-app-architecture-patterns.md) — Analyzes the application of MVVM and dependency inversion patterns to decouple business logic from the presentation layer.
- [Android Memory Optimizations](https://awesome-repositories.com/f/mobile-development/android-memory-optimizations.md) — Provides strategies for reducing the total memory footprint of mobile applications through resource release and lifecycle management. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/Android%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96.md))
- [Android Thread Management](https://awesome-repositories.com/f/mobile-development/android-thread-management.md) — Provides a guide on managing asynchronous task routing and thread coordination in the Android runtime. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/%E7%BA%BF%E7%A8%8B%E9%80%9A%E4%BF%A1%E5%9F%BA%E7%A1%80%E6%B5%81%E7%A8%8B%E5%88%86%E6%9E%90.md))
- [App Startup Analysis](https://awesome-repositories.com/f/mobile-development/app-startup-analysis.md) — Traces the sequence of events from process creation to the execution of activity lifecycle methods. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/APP%E5%90%AF%E5%8A%A8%E8%BF%87%E7%A8%8B.md))
- [Mobile Performance Optimizations](https://awesome-repositories.com/f/mobile-development/mobile-performance-optimizations.md) — Implements strategies for reducing memory leaks, resolving freezes, and optimizing image loading to improve mobile performance. ([source](https://github.com/geniusvjr/learningnotes#readme))
- [Activity Stack Configurations](https://awesome-repositories.com/f/mobile-development/activity-stack-configurations.md) — Configures activity launch modes to control the navigation flow and instantiation of the task stack. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/Android%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86.md))
- [Android Activity Lifecycle Management](https://awesome-repositories.com/f/mobile-development/android-activity-lifecycle-management.md) — Tracks and responds to Android activity lifecycle state changes to ensure proper resource cleanup. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/Android%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86.md))
- [Android Image Memory Management](https://awesome-repositories.com/f/mobile-development/android-image-memory-management.md) — Provides methods for calculating and optimizing the memory footprint of bitmaps based on color depth. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/%E6%9F%A5%E6%BC%8F%E8%A1%A5%E7%BC%BA.md))
- [Android Resource Loading](https://awesome-repositories.com/f/mobile-development/android-resource-loading.md) — Explains how to access and manage external assets from plugin packages using Android system resource paths. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/%E6%8F%92%E4%BB%B6%E5%8C%96%E6%8A%80%E6%9C%AF%E5%AD%A6%E4%B9%A0.md))
- [ANR Diagnoses](https://awesome-repositories.com/f/mobile-development/anr-diagnoses.md) — Provides techniques for diagnosing Application Not Responding (ANR) errors through log and stack trace analysis. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/ANR%E9%97%AE%E9%A2%98.md))
- [Runtime Execution Comparisons](https://awesome-repositories.com/f/mobile-development/runtime-execution-comparisons.md) — Evaluates performance trade-offs between different Android compilation and execution runtime methods. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/Art%E5%92%8CDalvik%E5%8C%BA%E5%88%AB.md))

### Networking & Communication

- [Inter-Process Communication Interfaces](https://awesome-repositories.com/f/networking-communication/inter-process-communication-interfaces.md) — Creates shared interface definitions to generate the proxy and stub classes required for cross-process communication. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/AIDL.md))
- [Remote Procedure Calls](https://awesome-repositories.com/f/networking-communication/remote-procedure-calls.md) — Details the use of AIDL to define remote procedure call interfaces for cross-process communication. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/Binder%E6%9C%BA%E5%88%B6.md))
- [Service Discovery Integrations](https://awesome-repositories.com/f/networking-communication/service-discovery-integrations.md) — Manages a centralized directory for registering and locating named system services. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/Binder%E6%9C%BA%E5%88%B6.md))
- [Shared Memory IPC](https://awesome-repositories.com/f/networking-communication/communication-protocols-architectures/inter-process-communication/shared-memory-ipc.md) — Uses shared memory regions to enable high-speed communication between processes and avoid expensive data copying. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/Binder%E6%9C%BA%E5%88%B6.md))

### Operating Systems & Systems Programming

- [System Service Initializations](https://awesome-repositories.com/f/operating-systems-systems-programming/android-binder-interfaces/system-service-initializations.md) — Provides detailed technical documentation on the Android boot sequence and system service initialization.
- [Application Process Spawning](https://awesome-repositories.com/f/operating-systems-systems-programming/host-process-spawning/application-process-spawning.md) — Maps the communication flow between the system manager and Zygote to instantiate new application environments. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/Zygote%E5%92%8CSystem%E8%BF%9B%E7%A8%8B%E7%9A%84%E5%90%AF%E5%8A%A8%E8%BF%87%E7%A8%8B.md))
- [Boot Sequence Tracing](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/boot-startup-management/boot-plugin-managers/boot-configuration-patchers/linux-boot-loaders/boot-sequence-tracing.md) — Traces the Android system boot sequence from process forking to the startup of core system services. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/Zygote%E5%92%8CSystem%E8%BF%9B%E7%A8%8B%E7%9A%84%E5%90%AF%E5%8A%A8%E8%BF%87%E7%A8%8B.md))
- [System Server Initializations](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/boot-startup-management/system-server-initializations.md) — Traces the initialization of libraries and registration of core services within the Android System Server. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/Android%E5%BC%80%E6%9C%BA%E8%BF%87%E7%A8%8B.md))
- [Memory Footprint Estimators](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/process-and-memory-management/memory-management/allocation-strategies/dynamic-memory-allocation/custom-memory-allocators/memory-footprint-estimators.md) — Provides logic for calculating the memory footprint of bitmaps based on dimensions and pixel format. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/%E6%9F%A5%E6%BC%8F%E8%A1%A5%E7%BC%BA.md))
- [Inter-Process Communication](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/system-programming-primitives/inter-process-communication.md) — Defines shared interfaces that allow separate Android application processes to exchange data and call methods. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/AIDL.md))
- [Android Process Priorities](https://awesome-repositories.com/f/operating-systems-systems-programming/priority-based-process-schedulers/android-process-priorities.md) — Analyzes how Android categorizes process priorities to manage memory reclamation and termination order. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/Android%E5%87%A0%E7%A7%8D%E8%BF%9B%E7%A8%8B.md))
- [Android Process Bootstrapping](https://awesome-repositories.com/f/operating-systems-systems-programming/user-process-bootstrapping/android-process-bootstrapping.md) — Analyzes the Android-specific boot sequence and the initialization of core system processes. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/Zygote%E5%92%8CSystem%E8%BF%9B%E7%A8%8B%E7%9A%84%E5%90%AF%E5%8A%A8%E8%BF%87%E7%A8%8B.md))
- [Dynamic Proxy Interceptions](https://awesome-repositories.com/f/operating-systems-systems-programming/system-call-interception/dynamic-proxy-interceptions.md) — Implements techniques to intercept system API calls using dynamic proxies to modify runtime behavior. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/%E6%8F%92%E4%BB%B6%E5%8C%96%E6%8A%80%E6%9C%AF%E5%AD%A6%E4%B9%A0.md))

### Programming Languages & Runtimes

- [Zygote](https://awesome-repositories.com/f/programming-languages-runtimes/process-lifecycles/zygote.md) — Details the Zygote process lifecycle, including runtime initialization and the forking of application processes. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/Zygote%E5%92%8CSystem%E8%BF%9B%E7%A8%8B%E7%9A%84%E5%90%AF%E5%8A%A8%E8%BF%87%E7%A8%8B.md))
- [Execution Context Switching](https://awesome-repositories.com/f/programming-languages-runtimes/concurrent-thread-execution/execution-context-switching.md) — Details the transfer of task progress and completion notifications from background worker threads back to the main thread. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/Asynctask%E6%BA%90%E7%A0%81%E5%88%86%E6%9E%90.md))
- [Garbage Collection Algorithms](https://awesome-repositories.com/f/programming-languages-runtimes/garbage-collection-algorithms.md) — Describes how directed graphs determine object reachability from root vertices to automate memory reclamation. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/Android%E5%86%85%E5%AD%98%E6%B3%84%E6%BC%8F%E6%80%BB%E7%BB%93.md))
- [JVM Memory Allocation Models](https://awesome-repositories.com/f/programming-languages-runtimes/jvm-memory-allocation-models.md) — Explains the use of static, stack, and heap storage areas to manage data persistence and variable lifecycles. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/Android%E5%86%85%E5%AD%98%E6%B3%84%E6%BC%8F%E6%80%BB%E7%BB%93.md))
- [Background Task Management](https://awesome-repositories.com/f/programming-languages-runtimes/language-features-paradigms/concurrency-models/background-task-management.md) — Explains how to run time-consuming operations in separate threads to maintain UI responsiveness. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/Asynctask%E6%BA%90%E7%A0%81%E5%88%86%E6%9E%90.md))
- [Result Synchronization](https://awesome-repositories.com/f/programming-languages-runtimes/language-features-paradigms/concurrency-models/concurrency/execution-models/multi-threaded-execution/thread-synchronized-execution/result-synchronization.md) — Implements methods for piping final output from background worker threads back into the main UI execution stream. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/Asynctask%E6%BA%90%E7%A0%81%E5%88%86%E6%9E%90.md))
- [Memory Tuning](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-execution-environments/runtime-environments/language-runtimes/java-virtual-machine-runtimes/memory-tuning.md) — Provides guidance on configuring heap and stack allocation to optimize Java Virtual Machine performance. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/Android%E5%85%B3%E4%BA%8Eoom%E7%9A%84%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88.md))

### Software Engineering & Architecture

- [Logic-Rendering Decouplers](https://awesome-repositories.com/f/software-engineering-architecture/headless-logic-decoupling/logic-rendering-decouplers.md) — Implements architectural patterns to separate component state and data manipulation from visual rendering. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/MVP.md))
- [Inter-Process Communication](https://awesome-repositories.com/f/software-engineering-architecture/inter-process-communication.md) — Details the architecture of the Binder kernel driver for inter-process communication on Android.
- [Logic and Presentation Separation](https://awesome-repositories.com/f/software-engineering-architecture/logic-and-presentation-separation.md) — Describes patterns for isolating business logic and data fetching from visual presentation to improve maintainability. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/MVP.md))
- [Memory Leak Prevention](https://awesome-repositories.com/f/software-engineering-architecture/memory-usage-analysis/memory-leak-prevention.md) — Resolves memory leaks caused by inner classes through the implementation of static classes and weak references. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/Handler%E5%86%85%E5%AD%98%E6%B3%84%E6%BC%8F%E5%88%86%E6%9E%90%E5%8F%8A%E8%A7%A3%E5%86%B3.md))
- [Thread-to-UI Message Queues](https://awesome-repositories.com/f/software-engineering-architecture/message-passing-channels/thread-to-ui-message-queues.md) — Describes the Handler and MessageQueue system used for coordinating tasks between background and UI threads.
- [Object-Oriented Design Principles](https://awesome-repositories.com/f/software-engineering-architecture/object-oriented-design-principles.md) — Provides educational content on implementing object-oriented design principles like single responsibility and dependency inversion. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/DesignPattern/%E5%B8%B8%E8%A7%81%E7%9A%84%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1%E8%AE%BE%E8%AE%A1%E5%8E%9F%E5%88%99.md))
- [Remote Procedure Calls](https://awesome-repositories.com/f/software-engineering-architecture/remote-procedure-calls.md) — Provides technical analysis of how AIDL automates remote procedure calls via proxy and stub classes.
- [Software Architecture Patterns](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture-patterns.md) — Analyzes structural differences and communication flows between various software architecture patterns. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/MVC%2CMVP%2CMVVM%E7%9A%84%E5%8C%BA%E5%88%AB.md))
- [Software Design Patterns](https://awesome-repositories.com/f/software-engineering-architecture/software-design-patterns.md) — Explains the application of creational, structural, and behavioral design patterns to organize scalable code. ([source](https://github.com/geniusvjr/learningnotes#readme))
- [Software Engineering Study Guides](https://awesome-repositories.com/f/software-engineering-architecture/software-engineering-study-guides.md) — Serves as a structured engineering study guide covering Android framework internals and mobile performance optimization.
- [Asynchronous Task Managers](https://awesome-repositories.com/f/software-engineering-architecture/asynchronous-task-managers.md) — Coordinates background workers and the UI thread through message queues to manage asynchronous task completion. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/ANR%E9%97%AE%E9%A2%98.md))
- [Runtime Method Hooking](https://awesome-repositories.com/f/software-engineering-architecture/code-patching-engines/patch-generators/patch-application/runtime-method-hooking.md) — Explains how to redirect method calls to native callbacks to fix bugs without full app updates. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/%E7%83%AD%E4%BF%AE%E5%A4%8D%E6%8A%80%E6%9C%AF.md))
- [Double-Buffering Techniques](https://awesome-repositories.com/f/software-engineering-architecture/high-performance-rendering/double-buffering-techniques.md) — Explains the use of double-buffering to optimize animation rendering and avoid screen flickering.
- [Heap Size Optimizations](https://awesome-repositories.com/f/software-engineering-architecture/memory-usage-analysis/memory-leak-prevention/heap-size-optimizations.md) — Manages memory allocation and heap size optimization to stop the application from exceeding system limits. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/Android%E5%85%B3%E4%BA%8Eoom%E7%9A%84%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88.md))
- [Method Interception Proxies](https://awesome-repositories.com/f/software-engineering-architecture/method-interception-proxies.md) — Analyzes the use of dynamic proxies to intercept and modify system API calls at runtime.
- [UI Thread Responsiveness](https://awesome-repositories.com/f/software-engineering-architecture/performance-reliability/performance-optimization/frontend-rendering-loading/ui-thread-responsiveness.md) — Maintains interface responsiveness by moving time-consuming disk and network operations away from the main execution thread. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/ANR%E9%97%AE%E9%A2%98.md))
- [Runtime Efficiency Patterns](https://awesome-repositories.com/f/software-engineering-architecture/runtime-efficiency-patterns.md) — Provides guides on increasing execution speed by reducing temporary object creation and optimizing method calls. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/Android%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96.md))
- [Runtime Execution Efficiency](https://awesome-repositories.com/f/software-engineering-architecture/runtime-execution-efficiency.md) — Provides coding patterns to increase runtime efficiency by reducing temporary object creation. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/Android%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96.md))
- [Software Architecture Design](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture-design.md) — Analyzes architectural patterns like MVVM and MVP to improve maintainability and decouple logic from UIs.

### Testing & Quality Assurance

- [Memory Leak Detection](https://awesome-repositories.com/f/testing-quality-assurance/debugging-diagnostics/memory-leak-detection.md) — Details strategies for detecting and resolving memory leaks caused by improper object references. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/Android%E5%86%85%E5%AD%98%E6%B3%84%E6%BC%8F%E6%80%BB%E7%BB%93.md))
- [UI-Independent Logic Testing](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/test-execution-orchestration/test-case-generators/test-case-organizers/use-case-tests-with-mocked-dependencies/ui-independent-logic-testing.md) — Verifies business logic using mock interfaces to replace view dependencies, enabling tests to run independently of the UI. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/MVP.md))

### Part of an Awesome List

- [Test Driven Development](https://awesome-repositories.com/f/awesome-lists/devtools/test-driven-development.md) — Provides guidance on using interfaces and mocks to verify business logic through a test-driven development workflow. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/MVP.md))
- [Android Development](https://awesome-repositories.com/f/awesome-lists/devtools/android-development.md) — Comprehensive collection of Android development study notes.
- [Interview Preparation](https://awesome-repositories.com/f/awesome-lists/learning/interview-preparation.md) — Detailed study notes covering Android, Java, and algorithms.

### Data & Databases

- [Direct Memory Data Transfer](https://awesome-repositories.com/f/data-databases/shared-memory-data-exchange/direct-memory-data-transfer.md) — Reduces data copying overhead during cross-process communication by mapping memory between kernel and user spaces. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/Binder%E6%9C%BA%E5%88%B6.md))
- [Ephemeral State Persistence](https://awesome-repositories.com/f/data-databases/state-persistence/list-state-persisters/ephemeral-state-persistence.md) — Guides the saving of non-permanent data and UI states into bundles before the system destroys an activity. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/Android%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86.md))
- [RecyclerView State Persistence](https://awesome-repositories.com/f/data-databases/state-persistence/list-state-persisters/recyclerview-state-persistence.md) — Explains how to save and restore the visual state of UI fragments across configuration changes. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/Fragment.md))

### Development Tools & Productivity

- [Runtime Class Loading](https://awesome-repositories.com/f/development-tools-productivity/code-loading-optimizations/runtime-class-loading.md) — Covers dynamic class loading techniques to bypass method count limits and implement plugin architectures.
- [System Service Communication Mapping](https://awesome-repositories.com/f/development-tools-productivity/diagramming-tools/process-and-flow-mapping/process-configuration-mappings/process-to-socket-mappings/system-service-communication-mapping.md) — Visualizes communication links between Android system services and process incubators via socket clients. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/Android%E5%BC%80%E6%9C%BA%E8%BF%87%E7%A8%8B.md))
- [Foreground Service Persistence](https://awesome-repositories.com/f/development-tools-productivity/foreground-process-executions/foreground-service-persistence.md) — Explains how to use foreground services to stop the Android system from killing active background tasks. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/Android%E5%87%A0%E7%A7%8D%E8%BF%9B%E7%A8%8B.md))
- [Android Runtime Analyzers](https://awesome-repositories.com/f/development-tools-productivity/php-application-profilers/runtime-state-analyzers/android-runtime-analyzers.md) — Analyzes Android runtime execution by comparing compilation methods and evaluating trade-offs in memory and performance. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/Art%E5%92%8CDalvik%E5%8C%BA%E5%88%AB.md))

### DevOps & Infrastructure

- [Image Cache Hierarchies](https://awesome-repositories.com/f/devops-infrastructure/caching-layers/tiered-caching/image-cache-hierarchies.md) — Implements a three-tier image caching strategy across memory, local disk, and remote sources.
- [Foreground Process Promotions](https://awesome-repositories.com/f/devops-infrastructure/restart-automation/process-restarts/foreground-process-promotions.md) — Details strategies to prevent background process termination using foreground services and priority management. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/Android%E5%87%A0%E7%A7%8D%E8%BF%9B%E7%A8%8B.md))

### System Administration & Monitoring

- [Heap Memory Monitoring](https://awesome-repositories.com/f/system-administration-monitoring/heap-memory-monitoring.md) — Monitors heap size limits and identifies memory leaks caused by long-lived object references. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/Android%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96.md))
- [Memory Usage Analyzers](https://awesome-repositories.com/f/system-administration-monitoring/memory-usage-analyzers.md) — Tracks memory footprints and heap size limits using system tools to prevent out-of-memory errors. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/Android%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96.md))
- [UI Freeze Diagnosis](https://awesome-repositories.com/f/system-administration-monitoring/ui-freeze-diagnosis.md) — Analyzes system logs and stack traces to identify blocking operations that cause UI freezes. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/ANR%E9%97%AE%E9%A2%98.md))

### User Interface & Experience

- [Component Data Passing](https://awesome-repositories.com/f/user-interface-experience/component-architectures/component-communication-patterns/component-data-passing.md) — Describes passing information between host activities and child fragments using arguments and shared state bundles. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/Fragment.md))
- [Custom UI Control Implementations](https://awesome-repositories.com/f/user-interface-experience/custom-ui-control-implementations.md) — Provides methods for defining unique visual elements through custom attributes and precise drawing routines. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/%E8%87%AA%E5%AE%9A%E4%B9%89%E6%8E%A7%E4%BB%B6.md))
- [Data Display Components](https://awesome-repositories.com/f/user-interface-experience/data-display-components.md) — Implements UI elements for rendering collections of items using grid, vertical, or staggered layouts. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/Recyclerview%E5%92%8CListview%E7%9A%84%E5%BC%82%E5%90%8C.md))
- [Performance-Optimized UI](https://awesome-repositories.com/f/user-interface-experience/performance-optimized-ui.md) — Optimizes list views and animation rendering to ensure a responsive UI and avoid ANR errors.
- [Responsive Interface Threading](https://awesome-repositories.com/f/user-interface-experience/responsive-interface-threading.md) — Offloads expensive computations and network requests to background threads to maintain interface responsiveness. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/ANR%E9%97%AE%E9%A2%98.md))
- [Reusable UI Components](https://awesome-repositories.com/f/user-interface-experience/reusable-ui-components.md) — Demonstrates how to create reusable UI components by removing business logic dependencies from the view layer. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/MVP.md))
- [Scrolling Performance Optimizations](https://awesome-repositories.com/f/user-interface-experience/scrolling-performance-optimizations.md) — Optimizes resource loading and rendering to ensure smooth UI movement and prevent stutter during list scrolling. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/Recyclerview%E5%92%8CListview%E7%9A%84%E5%BC%82%E5%90%8C.md))
- [UI Layout Strategies](https://awesome-repositories.com/f/user-interface-experience/ui-layout-strategies.md) — Guides the positioning of views using various layout strategies to define the visual structure of application screens. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/Android%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86.md))
- [UI State Persistence](https://awesome-repositories.com/f/user-interface-experience/ui-state-persistence.md) — Describes saving non-permanent data before system-initiated destruction to restore it upon activity recreation. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/Android%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86.md))
- [View Recycling Systems](https://awesome-repositories.com/f/user-interface-experience/view-recycling-systems.md) — Explains the ViewHolder pattern for recycling views to optimize memory and performance in large lists.

### Web Development

- [View Recycling](https://awesome-repositories.com/f/web-development/dom-element-manipulators/view-recycling.md) — Details techniques for reusing UI view objects to minimize allocation and improve rendering performance during scrolling. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/Listview%E8%AF%A6%E8%A7%A3.md))
- [View Holder Patterns](https://awesome-repositories.com/f/web-development/dom-element-manipulators/view-recycling/view-holder-patterns.md) — Implements the holder pattern to cache view references and avoid expensive lookup calls during list scrolling. ([source](https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/Recyclerview%E5%92%8CListview%E7%9A%84%E5%BC%82%E5%90%8C.md))
