美团
https://tech.meituan.com/
Gson序列化
https://www.jianshu.com/p/4eb59b252a3b
64位架构适配
https://juejin.cn/post/6964737926617890853
https相关
https://www.jianshu.com/p/27862635c077
Maven 缓存
https://blog.csdn.net/u010126792/article/details/97147489
Android资料
https://github.com/open-android/Android
上传下载接口传参定义
https://zhuanlan.zhihu.com/p/91962969
跨进程通信总结
https://blog.csdn.net/zhaoyanjun6/article/details/111553746
Okhttp源码 3.14
https://blog.csdn.net/OxuanO/article/details/106747873
https://www.jianshu.com/p/64d35acb56a4
Handler机制
https://www.jianshu.com/p/ff5db4319b30
Retrofit
https://www.codeleading.com/article/18363923800/
RecyclerView缓存
https://juejin.cn/post/6844904146684870669
内部存储
https://guolin.blog.csdn.net/article/details/113954552
https://mp.weixin.qq.com/s/dbUXmkOd_VxmxExBSpkmyw
https://zhuanlan.zhihu.com/p/165140637
LeakCanary
1、监听 Activity 的生命周期。
2、在 onDestory 的时候,创建对应的 Actitity 的 Refrence 和 相应的 RefrenceQueue,启动后台进程去检测。
3、一段时间后,从 RefrenceQueue 中读取,如果有这个 Actitity 的 Refrence,那么说明这个 Activity 的 Refrence 已经被回收,但是如果 RefrenceQueue 没有这个 Actitity 的 Refrence 那就说明出现了内存泄漏。
4、dump 出 hprof 文件,找到泄漏路径。
https://blog.csdn.net/u011033906/article/details/117958603?utm_source=app&app_version=4.19.1&code=app_1562916241&uLinkId=usr1mkqgl919blen
https://juejin.cn/post/6857530296481349646#heading-2
https://www.jianshu.com/p/9cc0db9f7c52
Koom
https://juejin.cn/post/7007395579840069669
https://baijiahao.baidu.com/s?id=1674693121890730020&wfr=spider&for=pc&searchword=koom
https://github.com/KwaiAppTeam/KOOM
布局
https://cloud.tencent.com/developer/article/1476470
协程
https://mp.weixin.qq.com/s/1BEI1R8Gx3mKLiuGd_y-Ow
https://blog.csdn.net/yu540135101/article/details/113246177
https://mp.weixin.qq.com/s/MkWKMKj3yRa0H20nb9qcag
协程生命周期
https://juejin.cn/post/6976290436503568392
Flutter
https://blog.csdn.net/weixin_31925685/article/details/112531943
HashMap
https://blog.csdn.net/sayWhat_sayHello/article/details/83120324
WorkManger
https://cloud.tencent.com/developer/article/1769706
算法
二叉树遍历
https://www.jianshu.com/p/456af5480cee
打包aar
https://juejin.cn/post/7017608469901475847#heading-14
卡顿优化
https://juejin.cn/post/6844904062610046990#heading-38
性能优化
https://jsonchao.github.io/categories/%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/
CountDownLatch
https://www.cnblogs.com/cxuanBlog/p/14166322.html
AppStart
https://segmentfault.com/a/1190000023512681
Sp
https://juejin.cn/post/6926825172066369544
Rxjava线程池
https://juejin.cn/post/6844903960684265479
OOM
https://mobile.51cto.com/android-675981.htm
内存优化实战
https://www.jianshu.com/p/8b0fee6ae332
recyclerview
https://cloud.tencent.com/developer/article/1799783
https://blog.csdn.net/ww897532167/article/details/85952498
https://juejin.cn/post/6844903661726859271
线下严苛模式 StrictMode
https://blog.51cto.com/u_15375308/4027861
anr
[https://blog.csdn.net/liuwg1226/article/details/118419356](https://blog.csdn.net/liuwg1226/article/details/118419356)
流量统计
https://segmentfault.com/a/1190000024562026
资料infoQ
https://www.infoq.cn/
线程和线程池
https://www.jianshu.com/p/784921b5acba
ASM
https://github.com/MicroKibaco/auto_track_transform
android启动
https://blog.csdn.net/hanhan1016/article/details/122125492?utm_source=app&app_version=4.21.0&code=app_1562916241&uLinkId=usr1mkqgl919blen
Fragment懒加载
https://zhuanlan.zhihu.com/p/134234521
类加载
https://www.jianshu.com/p/a6af394c77f3
有相无环图-拓朴排序
https://www.jianshu.com/p/d185da6a3d7c
协程
https://www.kotlincn.net/docs/reference/coroutines/composing-suspending-functions.html
内存管理、分配
https://www.jianshu.com/p/0afcf1b80dcf
进程
https://blog.csdn.net/y505772146/article/details/52243349
线程
https://www.twle.cn/c/yufei/javatm/javatm-basic-thread-life-cycle.html
换肤框架
https://www.jianshu.com/p/7463311a9f6f
类加载机制
https://www.freesion.com/article/8857813788/
网络库
https://juejin.cn/post/6854573211363999757
启动好文
https://mp.weixin.qq.com/s/_8ZzgmmP4Ov66f42sBHslA
内存
https://blog.csdn.net/oLengYueZa/article/details/109207492?utm_source=app&app_version=5.1.1&code=app_1562916241&uLinkId=usr1mkqgl919blen
合规
https://post.mp.qq.com/kan/article/2901275748-1839728660.html?_wv=2147483777&sig=b1542face31f224aee86f77cdc5369b0&article_id=1839728660&time=1650444975&_pflag=1&x5PreFetch=1&rowkey=756625fca7823152&cc_media_type=10001
mmkv
https://blog.csdn.net/number_cmd9/article/details/120624516
hashCode&equals
若两个对象equals相等,则hashCode也相同。若equals不相同,则hashCode不需要确保一定不相同。
涉及到对象之间的比较大小就需要重写equals方法
对象如果会存储在[Hash]等散列存储结构中,那么重写equals后最好也重写hashCode,否则就代表你在一个hash结构中存储了两个相同的对象
livedatabus
https://tech.meituan.com/2018/07/26/android-livedatabus.html
网友评论