René's URL Explorer Experiment


Title: GitHub - shadowwingz/AndroidLife: Android learning life and footprint.

Open Graph Title: GitHub - shadowwingz/AndroidLife: Android learning life and footprint.

X Title: GitHub - shadowwingz/AndroidLife: Android learning life and footprint.

Description: Android learning life and footprint. Contribute to shadowwingz/AndroidLife development by creating an account on GitHub.

Open Graph Description: Android learning life and footprint. Contribute to shadowwingz/AndroidLife development by creating an account on GitHub.

X Description: Android learning life and footprint. Contribute to shadowwingz/AndroidLife development by creating an account on GitHub.

Opengraph URL: https://github.com/shadowwingz/AndroidLife

X: @github

direct link

Domain: patch-diff.githubusercontent.com

route-pattern/:user_id/:repository
route-controllerfiles
route-actiondisambiguate
fetch-noncev2:a13081d7-792f-59a9-2b45-72ff14088997
current-catalog-service-hashf3abb0cc802f3d7b95fc8762b94bdcb13bf39634c40c357301c4aa1d67a256fb
request-idA63A:9C3C1:11D77:17BC4:6980D1E5
html-safe-noncefb773214ea05e271aaeaae343206c09e5671eb4f50730c7bd102135778e1090d
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJBNjNBOjlDM0MxOjExRDc3OjE3QkM0OjY5ODBEMUU1IiwidmlzaXRvcl9pZCI6Ijc4OTU0NTA3MTI4NTc5NTY4MzciLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ==
visitor-hmacaffad3034c76fa13049dc9ec0abb04062c01c3d044a9f0c43616e68e8719fe1c
hovercard-subject-tagrepository:145203978
github-keyboard-shortcutsrepository,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location//
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/shadowwingz/AndroidLife
twitter:imagehttps://opengraph.githubassets.com/cd2c9b94c4e5050a5314593f8a86146668e285999fc223885a32a05c7181bd6d/shadowwingz/AndroidLife
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/cd2c9b94c4e5050a5314593f8a86146668e285999fc223885a32a05c7181bd6d/shadowwingz/AndroidLife
og:image:altAndroid learning life and footprint. Contribute to shadowwingz/AndroidLife development by creating an account on GitHub.
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None17bc0924c8593587ed4a8ae12c6076d0895c5516aaa44daccbb68ede54878b1f
turbo-cache-controlno-preview
go-importgithub.com/shadowwingz/AndroidLife git https://github.com/shadowwingz/AndroidLife.git
octolytics-dimension-user_id16821727
octolytics-dimension-user_loginshadowwingz
octolytics-dimension-repository_id145203978
octolytics-dimension-repository_nwoshadowwingz/AndroidLife
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id145203978
octolytics-dimension-repository_network_root_nwoshadowwingz/AndroidLife
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
releasedc5087b03c3615c7b9c6b6b80f2a026f3f0b91cb
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://patch-diff.githubusercontent.com/shadowwingz/AndroidLife#start-of-content
https://patch-diff.githubusercontent.com/
Sign in https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2Fshadowwingz%2FAndroidLife
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub SparkBuild and deploy intelligent appshttps://github.com/features/spark
GitHub ModelsManage and compare promptshttps://github.com/features/models
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2Fshadowwingz%2FAndroidLife
Sign up https://patch-diff.githubusercontent.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E&source=header-repo&source_repo=shadowwingz%2FAndroidLife
Reloadhttps://patch-diff.githubusercontent.com/shadowwingz/AndroidLife
Reloadhttps://patch-diff.githubusercontent.com/shadowwingz/AndroidLife
Reloadhttps://patch-diff.githubusercontent.com/shadowwingz/AndroidLife
shadowwingz https://patch-diff.githubusercontent.com/shadowwingz
AndroidLifehttps://patch-diff.githubusercontent.com/shadowwingz/AndroidLife
Notifications https://patch-diff.githubusercontent.com/login?return_to=%2Fshadowwingz%2FAndroidLife
Fork 2 https://patch-diff.githubusercontent.com/login?return_to=%2Fshadowwingz%2FAndroidLife
Star 5 https://patch-diff.githubusercontent.com/login?return_to=%2Fshadowwingz%2FAndroidLife
5 stars https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/stargazers
2 forks https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/forks
Branches https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/branches
Tags https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/tags
Activity https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/activity
Star https://patch-diff.githubusercontent.com/login?return_to=%2Fshadowwingz%2FAndroidLife
Notifications https://patch-diff.githubusercontent.com/login?return_to=%2Fshadowwingz%2FAndroidLife
Code https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife
Issues 0 https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/issues
Pull requests 0 https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/pulls
Actions https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/actions
Projects 0 https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/projects
Security 0 https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/security
Insights https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/pulse
Code https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife
Issues https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/issues
Pull requests https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/pulls
Actions https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/actions
Projects https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/projects
Security https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/security
Insights https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/pulse
Brancheshttps://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/branches
Tagshttps://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/tags
https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/branches
https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/tags
368 Commitshttps://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/commits/master/
https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/commits/master/
JNIhttps://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/tree/master/JNI
JNIhttps://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/tree/master/JNI
gradle pluginhttps://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/tree/master/gradle%20plugin
gradle pluginhttps://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/tree/master/gradle%20plugin
javahttps://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/tree/master/java
javahttps://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/tree/master/java
jetpackhttps://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/tree/master/jetpack
jetpackhttps://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/tree/master/jetpack
simplenet/umlhttps://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/tree/master/simplenet/uml
simplenet/umlhttps://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/tree/master/simplenet/uml
uihttps://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/tree/master/ui
uihttps://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/tree/master/ui
三方框架https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/tree/master/%E4%B8%89%E6%96%B9%E6%A1%86%E6%9E%B6
三方框架https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/tree/master/%E4%B8%89%E6%96%B9%E6%A1%86%E6%9E%B6
其他/Android Studio 配置https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/tree/master/%E5%85%B6%E4%BB%96/Android%20Studio%20%E9%85%8D%E7%BD%AE
其他/Android Studio 配置https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/tree/master/%E5%85%B6%E4%BB%96/Android%20Studio%20%E9%85%8D%E7%BD%AE
四大组件https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/tree/master/%E5%9B%9B%E5%A4%A7%E7%BB%84%E4%BB%B6
四大组件https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/tree/master/%E5%9B%9B%E5%A4%A7%E7%BB%84%E4%BB%B6
常用组件https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/tree/master/%E5%B8%B8%E7%94%A8%E7%BB%84%E4%BB%B6
常用组件https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/tree/master/%E5%B8%B8%E7%94%A8%E7%BB%84%E4%BB%B6
并发https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/tree/master/%E5%B9%B6%E5%8F%91
并发https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/tree/master/%E5%B9%B6%E5%8F%91
性能优化https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/tree/master/%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96
性能优化https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/tree/master/%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96
核心机制https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/tree/master/%E6%A0%B8%E5%BF%83%E6%9C%BA%E5%88%B6
核心机制https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/tree/master/%E6%A0%B8%E5%BF%83%E6%9C%BA%E5%88%B6
细节知识点https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/tree/master/%E7%BB%86%E8%8A%82%E7%9F%A5%E8%AF%86%E7%82%B9
细节知识点https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/tree/master/%E7%BB%86%E8%8A%82%E7%9F%A5%E8%AF%86%E7%82%B9
自定义 Viewhttps://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/tree/master/%E8%87%AA%E5%AE%9A%E4%B9%89%20View
自定义 Viewhttps://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/tree/master/%E8%87%AA%E5%AE%9A%E4%B9%89%20View
设计模式https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/tree/master/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F
设计模式https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/tree/master/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F
.gitignorehttps://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/blob/master/.gitignore
.gitignorehttps://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/blob/master/.gitignore
README.mdhttps://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/blob/master/README.md
README.mdhttps://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/blob/master/README.md
READMEhttps://patch-diff.githubusercontent.com/shadowwingz/AndroidLife
https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife#androidlife
Perfetto Pin 区域高度调节工具 — 让性能分析更高效https://www.wolai.com/tTBehPGCLqHvopuUUujX6M
https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife#卡顿掉帧分析
携程-酒店-搜索酒店-上下滑动https://www.wolai.com/cEeL1amdECiz6gBrVt8uAk
知乎-热榜-找一个评论多的答案-点开评论上下滑动https://www.wolai.com/g3gYiPqNbmB7FKpxb9qWt
微信 - 发现-看一看-Top -上下滑动https://www.wolai.com/9wc1oxfFGFSZQknPEaRKdC
https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife#perfetto-技巧
perfetto线程抢占标志及分析思路https://www.wolai.com/p1N1vsAxtypuSsRh2AqyTx
https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife#卡顿优化
使用 TraceView 定位卡顿https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/blob/master/%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/%E5%8D%A1%E9%A1%BF%E4%BC%98%E5%8C%96/%E4%BD%BF%E7%94%A8%20TraceView%20%E5%AE%9A%E4%BD%8D%E5%8D%A1%E9%A1%BF/%E4%BD%BF%E7%94%A8%20TraceView%20%E5%AE%9A%E4%BD%8D%E5%8D%A1%E9%A1%BF.md
利用Looper检测卡顿https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/blob/master/%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/%E5%8D%A1%E9%A1%BF%E4%BC%98%E5%8C%96/%E5%88%A9%E7%94%A8Looper%E6%A3%80%E6%B5%8B%E5%8D%A1%E9%A1%BF/%E5%88%A9%E7%94%A8Looper%E6%A3%80%E6%B5%8B%E5%8D%A1%E9%A1%BF.md
https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife#内存优化
图片内存优化https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/blob/master/%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/%E5%86%85%E5%AD%98%E4%BC%98%E5%8C%96/%E5%9B%BE%E7%89%87%E5%86%85%E5%AD%98%E4%BC%98%E5%8C%96/%E5%9B%BE%E7%89%87%E5%86%85%E5%AD%98%E4%BC%98%E5%8C%96.md
内存泄漏概述https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/blob/master/%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/%E5%86%85%E5%AD%98%E4%BC%98%E5%8C%96/%E5%86%85%E5%AD%98%E6%B3%84%E6%BC%8F/%E5%86%85%E5%AD%98%E6%B3%84%E6%BC%8F%E6%A6%82%E8%BF%B0/%E5%86%85%E5%AD%98%E6%B3%84%E6%BC%8F%E6%A6%82%E8%BF%B0.md
ArrayList 引起的内存泄漏https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/blob/master/%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/%E5%86%85%E5%AD%98%E4%BC%98%E5%8C%96/%E5%86%85%E5%AD%98%E6%B3%84%E6%BC%8F/ArrayList%20%E5%BC%95%E5%8F%91%E7%9A%84%E5%86%85%E5%AD%98%E6%B3%84%E6%BC%8F/ArrayList%20%E5%BC%95%E5%8F%91%E7%9A%84%E5%86%85%E5%AD%98%E6%B3%84%E6%BC%8F.md
Handler 使用不当导致内存泄漏https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/blob/master/%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/%E5%86%85%E5%AD%98%E4%BC%98%E5%8C%96/%E5%86%85%E5%AD%98%E6%B3%84%E6%BC%8F/Hanlder%20%E4%BD%BF%E7%94%A8%E4%B8%8D%E5%BD%93%E5%AF%BC%E8%87%B4%E5%86%85%E5%AD%98%E6%B3%84%E6%BC%8F/Hanlder%20%E4%BD%BF%E7%94%A8%E4%B8%8D%E5%BD%93%E5%AF%BC%E8%87%B4%E5%86%85%E5%AD%98%E6%B3%84%E6%BC%8F.md
单例模式引起的内存泄漏https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/blob/master/%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/%E5%86%85%E5%AD%98%E4%BC%98%E5%8C%96/%E5%86%85%E5%AD%98%E6%B3%84%E6%BC%8F/%E5%8D%95%E4%BE%8B%E6%A8%A1%E5%BC%8F%E5%BC%95%E8%B5%B7%E7%9A%84%E5%86%85%E5%AD%98%E6%B3%84%E6%BC%8F/%E5%8D%95%E4%BE%8B%E6%A8%A1%E5%BC%8F%E5%BC%95%E8%B5%B7%E7%9A%84%E5%86%85%E5%AD%98%E6%B3%84%E6%BC%8F.md
多线程引起的内存泄漏https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/blob/master/%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/%E5%86%85%E5%AD%98%E4%BC%98%E5%8C%96/%E5%86%85%E5%AD%98%E6%B3%84%E6%BC%8F/%E5%A4%9A%E7%BA%BF%E7%A8%8B%E5%BC%95%E8%B5%B7%E7%9A%84%E5%86%85%E5%AD%98%E6%B3%84%E6%BC%8F/%E5%A4%9A%E7%BA%BF%E7%A8%8B%E5%BC%95%E8%B5%B7%E7%9A%84%E5%86%85%E5%AD%98%E6%B3%84%E6%BC%8F.md
使用 MAT 分析内存泄漏https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/blob/master/%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/%E5%86%85%E5%AD%98%E4%BC%98%E5%8C%96/%E5%86%85%E5%AD%98%E6%B3%84%E6%BC%8F/%E4%BD%BF%E7%94%A8MAT%E5%88%86%E6%9E%90%E5%86%85%E5%AD%98%E6%B3%84%E6%BC%8F/%E4%BD%BF%E7%94%A8%20MAT%20%E5%88%86%E6%9E%90%E5%86%85%E5%AD%98%E6%B3%84%E6%BC%8F%20.md
使用 LeakCanary 分析内存泄漏https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/blob/master/%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/%E5%86%85%E5%AD%98%E4%BC%98%E5%8C%96/%E5%86%85%E5%AD%98%E6%B3%84%E6%BC%8F/%E4%BD%BF%E7%94%A8%20LeakCanary%20%E5%88%86%E6%9E%90%E5%86%85%E5%AD%98%E6%B3%84%E6%BC%8F/%E4%BD%BF%E7%94%A8%20LeakCanary%20%E5%88%86%E6%9E%90%E5%86%85%E5%AD%98%E6%B3%84%E6%BC%8F.md
https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife#gradle-plugin-系列
动手写一个最简单的 Gradle Pluginhttps://github.com/shadowwingz/AndroidLife/blob/master/gradle%20plugin/%E5%8A%A8%E6%89%8B%E5%86%99%E4%B8%80%E4%B8%AA%E6%9C%80%E7%AE%80%E5%8D%95%E7%9A%84%20Gradle%20Plugin.md
https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife#jetpack
https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife#databinding
DataBinding 使用https://github.com/shadowwingz/AndroidLife/blob/master/jetpack/databinding/DataBinding%E4%BD%BF%E7%94%A8.md
BindingMethod 的使用https://github.com/shadowwingz/AndroidLife/blob/master/jetpack/databinding/BingingMethod%20%E7%9A%84%E4%BD%BF%E7%94%A8.md
https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife#viewmodel
我们为什么需要 ViewModelhttps://github.com/shadowwingz/AndroidLife/blob/master/jetpack/ViewModel/%E6%88%91%E4%BB%AC%E4%B8%BA%E4%BB%80%E4%B9%88%E9%9C%80%E8%A6%81ViewModel.md
https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife#四大组件
https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife#activity
Activity 启动的大体流程(不涉及源码)https://github.com/shadowwingz/AndroidLife/blob/master/%E5%9B%9B%E5%A4%A7%E7%BB%84%E4%BB%B6/activity/Activity%20%E5%90%AF%E5%8A%A8%E7%9A%84%E5%A4%A7%E4%BD%93%E6%B5%81%E7%A8%8B/Activity%20%E5%90%AF%E5%8A%A8%E7%9A%84%E5%A4%A7%E4%BD%93%E6%B5%81%E7%A8%8B.md
Activity 启动流程(源码)https://github.com/shadowwingz/AndroidLife/blob/master/%E5%9B%9B%E5%A4%A7%E7%BB%84%E4%BB%B6/activity/Activity%20%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B/Activity%20%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B.md
setContentView 流程解析https://github.com/shadowwingz/AndroidLife/blob/master/%E5%9B%9B%E5%A4%A7%E7%BB%84%E4%BB%B6/activity/setContentView%20%E6%B5%81%E7%A8%8B%E8%A7%A3%E6%9E%90/setContentView%20%E6%B5%81%E7%A8%8B%E8%A7%A3%E6%9E%90.md
onResume 里能获取 View 宽高吗?https://github.com/shadowwingz/AndroidLife/blob/master/%E5%9B%9B%E5%A4%A7%E7%BB%84%E4%BB%B6/activity/Activity%E7%9F%A5%E8%AF%86%E7%82%B9/onResume%E9%87%8C%E8%83%BD%E8%8E%B7%E5%8F%96View%E5%AE%BD%E9%AB%98%E5%90%97.md
使用 View.post 获取 View 宽高https://github.com/shadowwingz/AndroidLife/blob/master/%E5%9B%9B%E5%A4%A7%E7%BB%84%E4%BB%B6/activity/Activity%20%E7%9F%A5%E8%AF%86%E7%82%B9/%E4%BD%BF%E7%94%A8%20View.post%20%E8%8E%B7%E5%8F%96%20View%20%E5%AE%BD%E9%AB%98.md
https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife#service
Service 的启动流程https://github.com/shadowwingz/AndroidLife/blob/master/%E5%9B%9B%E5%A4%A7%E7%BB%84%E4%BB%B6/service/Service%20%E7%9A%84%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B/Service%20%E7%9A%84%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B.md
Service 的绑定流程https://github.com/shadowwingz/AndroidLife/blob/master/%E5%9B%9B%E5%A4%A7%E7%BB%84%E4%BB%B6/service/Service%20%E7%9A%84%E7%BB%91%E5%AE%9A%E6%B5%81%E7%A8%8B/how_service_bind.md
https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife#broadcast
广播的注册流程https://github.com/shadowwingz/AndroidLife/blob/master/%E5%9B%9B%E5%A4%A7%E7%BB%84%E4%BB%B6/broadcast/%E5%B9%BF%E6%92%AD%E7%9A%84%E6%B3%A8%E5%86%8C%E6%B5%81%E7%A8%8B/%E5%B9%BF%E6%92%AD%E7%9A%84%E6%B3%A8%E5%86%8C%E6%B5%81%E7%A8%8B.md
普通广播的发送流程https://github.com/shadowwingz/AndroidLife/blob/master/%E5%9B%9B%E5%A4%A7%E7%BB%84%E4%BB%B6/broadcast/%E6%99%AE%E9%80%9A%E5%B9%BF%E6%92%AD%E7%9A%84%E5%8F%91%E9%80%81%E6%B5%81%E7%A8%8B/%E6%99%AE%E9%80%9A%E5%B9%BF%E6%92%AD%E7%9A%84%E5%8F%91%E9%80%81%E6%B5%81%E7%A8%8B.md
https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife#contentprovider
ContentProvider 的启动过程https://github.com/shadowwingz/AndroidLife/blob/master/%E5%9B%9B%E5%A4%A7%E7%BB%84%E4%BB%B6/ContentProvider/ContentProvider%20%E7%9A%84%E5%90%AF%E5%8A%A8%E8%BF%87%E7%A8%8B.md
https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife#核心机制
https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife#handler
Handler 的工作流程https://github.com/shadowwingz/AndroidLife/blob/master/%E6%A0%B8%E5%BF%83%E6%9C%BA%E5%88%B6/handler/Handler%20%E7%9A%84%E5%B7%A5%E4%BD%9C%E6%B5%81%E7%A8%8B.md
ThreadLocal 源码解析https://github.com/shadowwingz/AndroidLife/blob/master/%E6%A0%B8%E5%BF%83%E6%9C%BA%E5%88%B6/handler/ThreadLocal%20%E6%BA%90%E7%A0%81%E8%A7%A3%E6%9E%90.md
https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife#binder
Binder 的使用及上层原理https://github.com/shadowwingz/AndroidLife/blob/master/%E6%A0%B8%E5%BF%83%E6%9C%BA%E5%88%B6/binder/Binder%20%E7%9A%84%E4%BD%BF%E7%94%A8%E5%8F%8A%E4%B8%8A%E5%B1%82%E5%8E%9F%E7%90%86/Binder%20%E7%9A%84%E4%BD%BF%E7%94%A8%E5%8F%8A%E4%B8%8A%E5%B1%82%E5%8E%9F%E7%90%86.md
AIDL 源码解析https://github.com/shadowwingz/AndroidLife/blob/master/%E6%A0%B8%E5%BF%83%E6%9C%BA%E5%88%B6/binder/AIDL%20%E6%BA%90%E7%A0%81%E8%A7%A3%E6%9E%90.md
https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife#常用组件
AsyncTask 工作原理https://github.com/shadowwingz/AndroidLife/blob/master/%E5%B8%B8%E7%94%A8%E7%BB%84%E4%BB%B6/asynctask/AsyncTask%20%E5%B7%A5%E4%BD%9C%E5%8E%9F%E7%90%86.md
IntentService 工作原理https://github.com/shadowwingz/AndroidLife/blob/master/%E5%B8%B8%E7%94%A8%E7%BB%84%E4%BB%B6/intentservice/IntentService%20%E5%B7%A5%E4%BD%9C%E5%8E%9F%E7%90%86.md
RemoteViews 源码解析https://github.com/shadowwingz/AndroidLife/blob/master/%E5%B8%B8%E7%94%A8%E7%BB%84%E4%BB%B6/RemoteViews/RemoteViews%20%E6%BA%90%E7%A0%81%E8%A7%A3%E6%9E%90.md
https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife#view-体系
https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife#view--viewgroup
MeasureSpec 源码解析https://github.com/shadowwingz/AndroidLife/blob/master/ui/view/MeasureSpec%20%E6%BA%90%E7%A0%81%E8%A7%A3%E6%9E%90.md
View 的 measure 原理https://github.com/shadowwingz/AndroidLife/blob/master/ui/view/View%20%E7%9A%84%20measure%20%E5%8E%9F%E7%90%86.md
View 的 layout 原理https://github.com/shadowwingz/AndroidLife/blob/master/ui/view/View%20%E7%9A%84%20layout%20%E5%8E%9F%E7%90%86.md
View 的 draw 原理https://github.com/shadowwingz/AndroidLife/blob/master/ui/view/View%20%E7%9A%84%20draw%20%E5%8E%9F%E7%90%86.md
ViewGroup 的 measure 原理https://github.com/shadowwingz/AndroidLife/blob/master/ui/view/ViewGroup%20%E7%9A%84%20measure%20%E5%8E%9F%E7%90%86.md
LinearLayout 的 measure 原理https://github.com/shadowwingz/AndroidLife/blob/master/ui/view/LinearLayout%20%E7%9A%84%20measure%20%E5%8E%9F%E7%90%86.md
LinearLayout 的 layout 原理https://github.com/shadowwingz/AndroidLife/blob/master/ui/view/LinearLayout%20%E7%9A%84%20layout%20%E5%8E%9F%E7%90%86.md
LinearLayout 和 RelativeLayout 的 draw 原理https://github.com/shadowwingz/AndroidLife/blob/master/ui/view/LinearLayout%20%E5%92%8C%20RelativeLayout%20%E7%9A%84%20draw%20%E5%8E%9F%E7%90%86.md
事件分发源码解析https://github.com/shadowwingz/AndroidLife/blob/master/ui/view/%E4%BA%8B%E4%BB%B6%E5%88%86%E5%8F%91%E6%BA%90%E7%A0%81%E8%A7%A3%E6%9E%90.md
用 Demo 体验事件分发https://github.com/shadowwingz/AndroidLife/blob/master/ui/view/%E7%94%A8%20Demo%20%E4%BD%93%E9%AA%8C%E4%BA%8B%E4%BB%B6%E5%88%86%E5%8F%91/%E7%94%A8%20Demo%20%E4%BD%93%E9%AA%8C%E4%BA%8B%E4%BB%B6%E5%88%86%E5%8F%91.md
滑动冲突解决方式之内部拦截法https://github.com/shadowwingz/AndroidLife/blob/master/ui/view/%E6%BB%91%E5%8A%A8%E5%86%B2%E7%AA%81/%E6%BB%91%E5%8A%A8%E5%86%B2%E7%AA%81%E8%A7%A3%E5%86%B3%E6%96%B9%E5%BC%8F%E4%B9%8B%E5%86%85%E9%83%A8%E6%8B%A6%E6%88%AA%E6%B3%95.md
滑动冲突解决方式之外部拦截法https://github.com/shadowwingz/AndroidLife/blob/master/ui/view/%E6%BB%91%E5%8A%A8%E5%86%B2%E7%AA%81/%E6%BB%91%E5%8A%A8%E5%86%B2%E7%AA%81%E8%A7%A3%E5%86%B3%E6%96%B9%E5%BC%8F%E4%B9%8B%E5%A4%96%E9%83%A8%E6%8B%A6%E6%88%AA%E6%B3%95.md
LayoutParams解析https://github.com/shadowwingz/AndroidLife/blob/master/ui/view/LayoutParams%E8%A7%A3%E6%9E%90/LayoutParams%E8%A7%A3%E6%9E%90.md
LayoutInflater源码解析https://github.com/shadowwingz/AndroidLife/blob/master/ui/view/LayoutInflater%E6%BA%90%E7%A0%81%E8%A7%A3%E6%9E%90/LayoutInflater%20%E6%BA%90%E7%A0%81%E8%A7%A3%E6%9E%90.md
https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife#window
Window 的添加过程https://github.com/shadowwingz/AndroidLife/blob/master/ui/window/Window%20%E7%9A%84%E6%B7%BB%E5%8A%A0%E8%BF%87%E7%A8%8B.md
https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife#toast
Toast 源码解析https://github.com/shadowwingz/AndroidLife/blob/master/ui/toast/toast.md
子线程中可以弹 Toast 吗?https://github.com/shadowwingz/AndroidLife/blob/master/ui/toast/%E5%AD%90%E7%BA%BF%E7%A8%8B%E5%8F%AF%E4%BB%A5%E5%BC%B9%20Toast%20%E5%90%97.md
https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife#通知
通知的显示流程https://github.com/shadowwingz/AndroidLife/blob/master/ui/%E9%80%9A%E7%9F%A5/%E9%80%9A%E7%9F%A5%E7%9A%84%E6%98%BE%E7%A4%BA%E6%B5%81%E7%A8%8B/%E9%80%9A%E7%9F%A5%E7%9A%84%E6%98%BE%E7%A4%BA%E6%B5%81%E7%A8%8B.md
https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife#alertdialog
AlertDialog 源码解析https://github.com/shadowwingz/AndroidLife/blob/master/ui/AlertDialog/AlertDialog%20%E6%BA%90%E7%A0%81%E8%A7%A3%E6%9E%90.md
https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife#三方框架
https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife#dagger
使用Dagger快速实现依赖注入https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/blob/master/%E4%B8%89%E6%96%B9%E6%A1%86%E6%9E%B6/dagger/%E4%BD%BF%E7%94%A8Dagger%E5%BF%AB%E9%80%9F%E5%AE%9E%E7%8E%B0%E4%BE%9D%E8%B5%96%E6%B3%A8%E5%85%A5.md
使用Module提供对象实例https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/blob/master/%E4%B8%89%E6%96%B9%E6%A1%86%E6%9E%B6/dagger/%E4%BD%BF%E7%94%A8Module%E6%8F%90%E4%BE%9B%E5%AF%B9%E8%B1%A1%E5%AE%9E%E4%BE%8B.md
使用作用域实现单例https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/blob/master/%E4%B8%89%E6%96%B9%E6%A1%86%E6%9E%B6/dagger/%E4%BD%BF%E7%94%A8%E4%BD%9C%E7%94%A8%E5%9F%9F%E5%AE%9E%E7%8E%B0%E5%8D%95%E4%BE%8B.md
Binds注入接口实例https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/blob/master/%E4%B8%89%E6%96%B9%E6%A1%86%E6%9E%B6/dagger/Binds%E6%B3%A8%E5%85%A5%E6%8E%A5%E5%8F%A3%E5%AE%9E%E4%BE%8B.md
https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife#hilt
Hilt初体验https://github.com/shadowwingz/AndroidLife/blob/4941782/%E4%B8%89%E6%96%B9%E6%A1%86%E6%9E%B6/hilt/Hilt%E5%88%9D%E4%BD%93%E9%AA%8C.md
https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife#butterknife
使用反射实现 ButterKnifehttps://github.com/shadowwingz/AndroidLife/blob/master/%E4%B8%89%E6%96%B9%E6%A1%86%E6%9E%B6/butterknife/%E4%BD%BF%E7%94%A8%E5%8F%8D%E5%B0%84%E5%AE%9E%E7%8E%B0%20ButterKnife.md
https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife#工具篇
代码注释在缩进之后https://github.com/shadowwingz/AndroidLife/blob/master/%E5%85%B6%E4%BB%96/Android%20Studio%20%E9%85%8D%E7%BD%AE/%E4%BB%A3%E7%A0%81%E6%B3%A8%E9%87%8A.md
Readme https://patch-diff.githubusercontent.com/shadowwingz/AndroidLife#readme-ov-file
Please reload this pagehttps://patch-diff.githubusercontent.com/shadowwingz/AndroidLife
Activityhttps://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/activity
5 starshttps://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/stargazers
1 watchinghttps://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/watchers
2 forkshttps://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/forks
Report repository https://patch-diff.githubusercontent.com/contact/report-content?content_url=https%3A%2F%2Fgithub.com%2Fshadowwingz%2FAndroidLife&report=shadowwingz+%28user%29
Releaseshttps://patch-diff.githubusercontent.com/shadowwingz/AndroidLife/releases
Packages 0https://patch-diff.githubusercontent.com/users/shadowwingz/packages?repo_name=AndroidLife
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.