{"id":18014445,"url":"https://github.com/shouheng88/android-notes","last_synced_at":"2026-03-07T02:03:33.193Z","repository":{"id":41176431,"uuid":"111617380","full_name":"Shouheng88/Android-notes","owner":"Shouheng88","description":"[DEPRECATED] Articles, notes, interview questions and resources management for Android. ","archived":false,"fork":false,"pushed_at":"2022-06-29T07:39:13.000Z","size":8418,"stargazers_count":168,"open_issues_count":0,"forks_count":36,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-01T08:44:34.590Z","etag":null,"topics":["interview-questions","java","mybatis","mysql","redis","spring"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Shouheng88.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-11-22T00:33:44.000Z","updated_at":"2025-04-15T03:33:48.000Z","dependencies_parsed_at":"2022-09-03T12:00:30.213Z","dependency_job_id":null,"html_url":"https://github.com/Shouheng88/Android-notes","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Shouheng88/Android-notes","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shouheng88%2FAndroid-notes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shouheng88%2FAndroid-notes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shouheng88%2FAndroid-notes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shouheng88%2FAndroid-notes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Shouheng88","download_url":"https://codeload.github.com/Shouheng88/Android-notes/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shouheng88%2FAndroid-notes/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30205893,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-06T19:07:06.838Z","status":"online","status_checked_at":"2026-03-07T02:00:06.765Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["interview-questions","java","mybatis","mysql","redis","spring"],"created_at":"2024-10-30T04:09:32.632Z","updated_at":"2026-03-07T02:03:33.174Z","avatar_url":"https://github.com/Shouheng88.png","language":null,"readme":"# Android [DEPRECATED]\n\n## 1、目录\n\n### 基础开发\n\n- 基础回顾\n    - [Android 基础回顾：Activity 基础](四大组件/Activity.md)\n    - [Android 基础回顾：Fragment 基础](四大组件/Fragment.md)\n    - [Android 基础回顾：Service 基础](四大组件/Service.md)\n    - [Android 基础回顾：Broadcast 基础](四大组件/Broadcast.md)\n\n- 开发语言\n    - [Java 注解在 Android 中的应用](注解和依赖注入/注解在Android中的应用.md)\n    - [Kotlin 基础知识梳理](Kotlin/Kotlin.md)\n    - [在 Android 中使用 JNI 的总结](高阶技术/JNI技术总结.md)\n\n- 架构设计\n    - [Android 应用架构设计探索：MVC、MVP、MVVM和组件化](结构设计/探索Android架构设计.md)\n    - [浅谈 ViewModel 的生命周期控制](高阶技术/浅谈ViewModel生命周期控制.md)\n    - [浅谈 LiveData 的通知机制](高阶技术/浅谈LiveData的通知过程.md)\n\n- 性能优化\n    - [ANR](性能优化/Android性能优化-ANR.md)\n    - [布局优化](性能优化/Android性能优化-布局优化.md)\n    - [进程保活](性能优化/Android进程保活.md)\n    - [启动优化](性能优化/Android性能优化-启动优化.md)\n    - [内存优化](性能优化/Android性能优化-内存优化.md)\n\n- 开发环境\n    - [常见的 ADB 指令总结](开发工具/ADB_常见的ADB指令总结.md)\n    - [常见的 Gradle 指令和配置总结](开发工具/Gradle_常见的指令和配置总结.md)\n    - [常见的 Keytool 指令总结](开发工具/Keytool_常用的指令.md)\n\n### 系统源码\n\n- 核心流程\n    - [Android 系统架构](系统架构/Android系统架构.md)\n    - [Android 系统启动流程源码分析](系统架构/Android系统启动过程.md)\n    - [Android 应用打包过程](系统架构/Android打包过程.md)\n    - [Android 应用安装过程](系统架构/Android应用安装过程.md)\n\n- 消息机制\n    - [Android 消息机制：Handler、MessageQueue 和 Looper](消息机制/线程通信：Handler、MessageQueue和Looper.md.md)\n    - [Android IPC 机制：Binder 机制](消息机制/跨进程通信：Binder机制.md) \n\n- 异步编程\n    - [AsyncTask 的使用和源码分析](异步编程/AsyncTask源码分析.md)\n    - [Android 多线程编程：IntentService 和 HandlerThread](异步编程/Android多线程编程：IntentService和HandlerThread.md)\n\n- 窗口机制\n    - [Android 的窗口管理机制](系统架构/窗口机制/Android的Window管理机制.md)（编辑中）\n\n- 控件体系\n    - [View 体系详解：View的工作流程](系统架构/控件体系/View体系详解：View的工作流程.md)\n    - [View 体系详解：坐标系、滑动事件和分发机制](系统架构/控件体系/View体系详解：坐标系、滑动事件和分发机制.md)\n    - [Android 动画体系详解](系统架构/控件体系/动画体系详解.md)\n    - [SurfaceView 与 TextureView 的区别](系统架构/SurefaceView_and_TextureView.md)\n\n- 部分 API 源码\n    - [LruCache 的使用和源码分析](API简析/LruCache.md)\n\n### 三方库源码\n\n- 网络框架\n    - [网络框架 OkHttp 源码解析](网络访问/OKHttp源码阅读.md)\n    - [网络框架 Retrofit 源码解析](网络访问/Retrofit源码阅读.md)\n\n- 图片加载框架\n    - [Glide 系列-1：预热、Glide 的常用配置方式及其原理](图片加载/Glide系列：Glide的配置和使用方式.md)\n    - [Glide 系列-2：主流程源码分析](图片加载/Glide系列：Glide主流程源码分析.md)\n    - [Glide 系列-3：Glide 缓存的实现原理](图片加载/Glide系列：Glide的缓存的实现原理.md)\n\n- RxJava\n    - [RxJava2 系列-1：一篇的比较全面的 RxJava2 方法总结](响应式编程/RxJava2系列·_一篇的比较全面的RxJava2方法总结.md)\n    - [RxJava2 系列-2：Flowable 和背压](响应式编程/Flowable和背压.md)\n    - [RxJava2 系列-3：使用 Subject](响应式编程/用RxJava打造EventBus.md)\n    - [RxJava2 系列-4：RxJava 源码分析](响应式编程/RxJava系列-4：RxJava源码分析.md)\n\n- 其他框架\n    - [消息机制 EventBus 源码解析](消息机制/EventBus的源码分析.md)\n    - [Dagger 从集成到源码带你理解依赖注入框架](高阶技术/Dagger从集成到源码.md)\n\n### Java 相关\n\n- 并发编程\n    - [Java 并发编程：ThreadLocal 的使用及其源码实现](https://blog.csdn.net/github_35186068/article/details/83858944)\n\n- 设计模式\n    - [观察者模式](https://blog.csdn.net/github_35186068/article/details/83754026)\n\n- 虚拟机\n    - [内存管理](https://juejin.im/post/5b475e976fb9a04fa8671a45)\n    - [虚拟机执行子系统](https://juejin.im/post/5b4a1fb7e51d4519213fd374)\n    - [虚拟机内存模型与高效并发](https://juejin.im/post/5b4f48e75188251b1b448aa0)\n\n- 三方库\n    - [时间库 JodaTime](https://blog.csdn.net/github_35186068/article/details/83754146)\n\n### UI 相关\n\n- [自定义控件](系统架构/控件体系/View体系详解：自定义控件.md)（编辑中）\n\n### 编程基础\n\n- 数据库\n    - [MySQL 基础知识（全）](https://juejin.im/post/5a12d62bf265da431d3c4a01)\n\n### 面试题\n\n\u003e 通过面试题梳理知识点细节\n\n- [Android高级面试_1_Handler相关](笔试面试/Android高级面试_1_Handler相关.md)\n- [Android高级面试_2_IPC相关](笔试面试/Android高级面试_2_IPC相关.md)\n- [Android高级面试_3_语言相关](笔试面试/Android高级面试_3_语言相关.md)\n- [Android高级面试_4_虚拟机相关](笔试面试/Android高级面试_4_虚拟机相关.md)\n- [Android高级面试_5_四大组件、系统源码等](笔试面试/Android高级面试_5_四大组件、系统源码等.md)\n- [Android高级面试_6_性能优化](笔试面试/Android高级面试_6_性能优化.md)\n- [Android高级面试_7_三方库相关](笔试面试/Android高级面试_7_三方库相关.md)\n- [Android高级面试_8_热修补插件化等](笔试面试/Android高级面试_8_热修补插件化等.md)\n- [Android高级面试_9_网络基础](笔试面试/Android高级面试_9_网络基础.md)\n- [Android高级面试_10_跨平台开发](笔试面试/Android高级面试_10_跨平台开发.md)\n- [Android高级面试_11_JNINDK](笔试面试/Android高级面试_11_JNINDK.md)\n- [Android高级面试_12_项目经验梳理](笔试面试/Android高级面试_12_项目经验梳理.md)\n- [Android 中高级工程师面试题总结](笔试面试/Android高级软件工程师2017.md)\n\n### 其他\n\n- [马克笔记—Android 端开源的 Markdown 笔记应用](其他/MarkNote版本1的.md)\n- [承上启下：Markdown 笔记应用 MarkNote 的重构之路](其他/MarkNote版本2.md)\n\n## 2、资源整理\n\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshouheng88%2Fandroid-notes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshouheng88%2Fandroid-notes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshouheng88%2Fandroid-notes/lists"}