{"adoption": {"forks": 527, "observed_at": "2026-08-28T04:07:01.053362+00:00", "stars": 2563}, "canonical_url": "https://ross.abutalabs.com/products/android-readthefuckingsourcecode", "card": {"archived": false, "artifact_type": "learning-resource", "description": "😜 记录日常的开发技巧，开发中遇到的技术重点、难点，各个知识点的总结，优质面试题等等。持续更新...", "domain": ["android-tools", "tutorials", "mobile-development", "developer-tools"], "enriched": true, "function": ["developer-tools", "documentation"], "health_score": 20, "homepage": "https://jeanboy.blog.csdn.net", "language": "HTML", "license": null, "license_family": "other", "maturity": "maintenance", "member_repos": ["jeanboydev/Android-ReadTheFuckingSourceCode"], "name": "jeanboydev/Android-ReadTheFuckingSourceCode", "platform": ["jvm"], "pushed_at": "2023-06-25T02:17:21+00:00", "repo": "jeanboydev/Android-ReadTheFuckingSourceCode", "stars": 2563, "tags": ["android-framework", "interview-questions", "jvm", "performance-optimization", "design-patterns", "tech-notes", "chinese-language", "android"], "topics": ["android", "java", "architecture", "jvm", "git", "tcp-ip", "binder", "surface-flinger", "design-patterns", "interview-questions", "framework", "performance", "gradle"], "urls": [], "use_cases": ["learn how the Android system boot process works", "prepare for Android developer interviews", "study Android performance optimization techniques", "understand JVM memory allocation and garbage collection", "review design patterns for Android development", "deepen knowledge of Android framework internals like init, zygote, and SystemServer"], "what_it_is": "A curated collection of Android development technical notes covering framework internals, performance optimization, JVM, design patterns, and interview questions. It is a continuously updated knowledge base written primarily in Chinese for Android engineers.", "when_to_avoid": ["you need runnable code or a library to include in your project", "you require English-language documentation", "you need officially reviewed or guaranteed-accurate material"], "when_to_choose": ["you want in-depth Chinese-language notes on Android framework internals and performance", "you are preparing for Android or Java interviews", "you prefer curated article collections over official docs"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/android-readthefuckingsourcecode", "repo": "jeanboydev/Android-ReadTheFuckingSourceCode", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:01.053362+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:23:28.674284+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26400aec6b251d72e6971440806f3119655c613d31a13fcf9b12cebf34de2c6f", "fetched_at": "2026-08-28T04:07:01.053362+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jeanboydev/Android-ReadTheFuckingSourceCode"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:01.053362+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:23:28.674284+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26400aec6b251d72e6971440806f3119655c613d31a13fcf9b12cebf34de2c6f", "fetched_at": "2026-08-28T04:07:01.053362+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jeanboydev/Android-ReadTheFuckingSourceCode"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:23:28.674284+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26400aec6b251d72e6971440806f3119655c613d31a13fcf9b12cebf34de2c6f", "fetched_at": "2026-08-28T04:07:01.053362+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jeanboydev/Android-ReadTheFuckingSourceCode"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:07:01.053362+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:01.053362+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:01.053362+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:23:28.674284+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26400aec6b251d72e6971440806f3119655c613d31a13fcf9b12cebf34de2c6f", "fetched_at": "2026-08-28T04:07:01.053362+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jeanboydev/Android-ReadTheFuckingSourceCode"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:01.053362+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:01.053362+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:23:28.674284+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26400aec6b251d72e6971440806f3119655c613d31a13fcf9b12cebf34de2c6f", "fetched_at": "2026-08-28T04:07:01.053362+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jeanboydev/Android-ReadTheFuckingSourceCode"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:01.053362+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:01.053362+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:01.053362+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:23:28.674284+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26400aec6b251d72e6971440806f3119655c613d31a13fcf9b12cebf34de2c6f", "fetched_at": "2026-08-28T04:07:01.053362+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jeanboydev/Android-ReadTheFuckingSourceCode"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:01.053362+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:01.053362+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:23:28.674284+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26400aec6b251d72e6971440806f3119655c613d31a13fcf9b12cebf34de2c6f", "fetched_at": "2026-08-28T04:07:01.053362+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jeanboydev/Android-ReadTheFuckingSourceCode"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:23:28.674284+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26400aec6b251d72e6971440806f3119655c613d31a13fcf9b12cebf34de2c6f", "fetched_at": "2026-08-28T04:07:01.053362+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jeanboydev/Android-ReadTheFuckingSourceCode"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:23:28.674284+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26400aec6b251d72e6971440806f3119655c613d31a13fcf9b12cebf34de2c6f", "fetched_at": "2026-08-28T04:07:01.053362+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jeanboydev/Android-ReadTheFuckingSourceCode"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:23:28.674284+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26400aec6b251d72e6971440806f3119655c613d31a13fcf9b12cebf34de2c6f", "fetched_at": "2026-08-28T04:07:01.053362+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jeanboydev/Android-ReadTheFuckingSourceCode"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3659, "days_push": 1166, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}