{"id":18048464,"url":"https://github.com/ch8n/recycler-view-internals","last_synced_at":"2025-10-10T13:09:13.674Z","repository":{"id":140848322,"uuid":"351195300","full_name":"ch8n/Recycler-View-Internals","owner":"ch8n","description":"Recycler View Internals | How to create your own recycler view ","archived":false,"fork":false,"pushed_at":"2021-07-23T13:42:49.000Z","size":281,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-10T09:59:20.269Z","etag":null,"topics":["android","internal","kotlin","learning-resources","recycler","recyclerview","recyclerview-adapter"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","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/ch8n.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-03-24T19:11:12.000Z","updated_at":"2023-10-09T02:26:46.000Z","dependencies_parsed_at":null,"dependency_job_id":"af147949-daad-42eb-a4ff-0c0929ce50d9","html_url":"https://github.com/ch8n/Recycler-View-Internals","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ch8n/Recycler-View-Internals","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ch8n%2FRecycler-View-Internals","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ch8n%2FRecycler-View-Internals/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ch8n%2FRecycler-View-Internals/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ch8n%2FRecycler-View-Internals/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ch8n","download_url":"https://codeload.github.com/ch8n/Recycler-View-Internals/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ch8n%2FRecycler-View-Internals/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279004062,"owners_count":26083665,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-10T02:00:06.843Z","response_time":62,"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":["android","internal","kotlin","learning-resources","recycler","recyclerview","recyclerview-adapter"],"created_at":"2024-10-30T20:13:00.850Z","updated_at":"2025-10-10T13:09:13.647Z","avatar_url":"https://github.com/ch8n.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Recycler View Internals - Create your own Recycler View\n\nRecycler view is one of the major UI component of Android Ecosystem, and Most popular resource to learn it from\nis [RecyclerView ins and outs - Google I/O 2016](https://www.youtube.com/watch?v=LqBlYJTfLP4\u0026t=1797s)\n\nThis Video explains Recycler view Completely with lots of inside detail, but IMO there is hardly and code present in the\nvideo which could help to relate what diagrams depicts in the video. so I have decided to create supplimentary content\nby write Recycler View implementation as discussed in the video. You can use it to understand recycler view internals or\nto ace your next technical interview.\n\nSo, help yourself and have a snack on the Code and as Always Happy Hacking!\nChetan Gupta.\n\n**Note : I plan to covered only the things that are covered in video and did my own slight improvements to connect\nthings together where content isn't discussed in the Video, I won't be going far and behond the video so please don't\nopen unrelated issues or discussion in these.**\n\n## Topics Covered\n\n- [x] Birth Of View-Holder\n- [ ] Adding View to UI\n- [ ] Death of Recycler View\n- [ ] Animation on RecyclerView Operation\n\n# [Birth Of View-Holder](https://github.com/ch8n/DIY-Recycler-View-Internals/blob/main/src/main/kotlin/RecyclerView.kt)\n\n### Component interaction Diagram - View Cache Pass\n\u003cimg src=\"1.View-Holder-Birth-View-Cache-Pass.png\" height=\"360px\"\u003e\n\n### Component interaction Diagram - View Cache Miss - Recycler Poll - Pass\n\u003cimg src=\"2.View-Holder-Birth-RecyclerPool-Pass.png\" height=\"280px\"\u003e\n\n### Component interaction Diagram - View Cache Miss - Recycler Poll - Miss\n\u003cimg src=\"3.View-Holder-Birth-Recycler-Pool-Miss.png\" height=\"280px\"\u003e\n\n## :eyes: Social\n\n[LinkedIn](https://bit.ly/ch8n-linkdIn) |\n[Medium](https://bit.ly/ch8n-medium-blog) |\n[Twitter](https://bit.ly/ch8n-twitter) |\n[StackOverflow](https://bit.ly/ch8n-stackOflow) |\n[CodeWars](https://bit.ly/ch8n-codewar) |\n[Portfolio](https://bit.ly/ch8n-home) |\n[Github](https://bit.ly/ch8n-git) |\n[Instagram](https://bit.ly/ch8n-insta) |\n[Youtube](https://bit.ly/ch8n-youtube)\n\n## :cop: License\n\nShield: [![CC BY-SA 4.0][cc-by-sa-shield]][cc-by-sa]\n\nThis work is a licensed under a\n[Creative Commons Attribution-ShareAlike 4.0 International License][cc-by-sa].\n\n[![CC BY-SA 4.0][cc-by-sa-image]][cc-by-sa]\n\n[cc-by-sa]: http://creativecommons.org/licenses/by-sa/4.0/\n\n[cc-by-sa-image]: https://licensebuttons.net/l/by-sa/4.0/88x31.png\n\n[cc-by-sa-shield]: https://img.shields.io/badge/License-CC%20BY--SA%204.0-lightgrey.svg\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fch8n%2Frecycler-view-internals","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fch8n%2Frecycler-view-internals","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fch8n%2Frecycler-view-internals/lists"}