- 博客(23)
- 收藏
- 关注
原创 LeakCanary源码分析
通过new出来的对象具备强引用,只要强引用存在,垃圾回收器(GC)绝不会回收对象,即使内存不足时JVM会抛出OutOfMemoryError而非回收强引用对象。对象仅被虚引用关联(无强/软/弱引用)时,GC会将其标记为可回收状态。内存充足时保留对象,内存不足时被GC回收。无论内存是否充足,GC运行时立即回收对象。
2025-05-29 13:39:45
118
原创 OkHttp源码分析
由Square公司贡献的一个处理网络请求的开源项目,是安卓目前使用最广泛的网络框架。从Android4.4开始HttpURLConnection的底层实现使用的是okhttp。
2025-05-29 10:33:34
280
原创 计算机网络体系结构
利用通信线路将地理上分散的,具备独立功能的计算机系统和通信设备按不同的形式连接起来,以功能完善的网络软件以及协议实现资源共享和信息传递。
2025-05-29 08:42:40
185
原创 Android的一些坑
2.DataBinding将layout放到module中,由于app和module有同命名layout,DataBinding编译异常,且没有异常日志打印,问题难以定位。1.组价化的时候单独提取module,module里面发生crash会被捕获,且没有日志。3.应用重命名,使用refactor->rename,只能完成部分重命名。
2025-05-14 09:09:33
107
原创 JetPack-LifeCycle
3.标准化生命周期定义:五大状态(INITIALIZED/DESTROYED等)和七大事件的枚举化设计,解决了传统生命周期回调的碎片化问题,便于跨组件复用。1.处理异步生命周期冲突:状态机可通过缓存事件和状态校验保证最终生命周期一致性。2.性能提升:状态缓存。
2025-04-14 13:24:10
275
原创 RxJava-1
ReactiveX是Reactive Extensions的缩写,一般简写为Rx,最初是LINQ的一个扩展,由微软的架构师Erik Meijer领导的团队开发,在2012年11月开源,Rx是一个编程模型,目标是提供一致的编程接口,帮助开发者更方便的处理异步数据流,Rx库支持.NET、JavaScript和C++,Rx近几年越来越流行了,现在已经支持几乎全部的流行编程语言了,Rx的大部分语言库由ReactiveX这个组织负责维护,比较流行的有RxJava/RxJS/Rx.NET,社区网站是 reactivex
2024-12-19 08:48:59
1411
原创 使用Git遇到的问题
第二种没有 commit-msg,无法提交代码 ,需要使用命令生成,或者拷贝一个 commit-msg文件到git目录下。所以最好使用Clone with commit-msg方式拷贝。现在代码路径一般都放在Gerrit,但是要注意地址是有多个选项的 默认格式,HTTP,SSH格式。2.clone方式有两种 Clone with commit-msg hook 和 Clone。注意 使用git branch -a查看,下面一般会显示。而是 git chekcout name1。1.无法Clone的问题。
2024-12-17 13:01:35
268
原创 Studio环境问题
1.Could not install Gradle distribution from ‘https://services.gradle.org/distributions/gradle-7.5-bin.zip’.Reason: java.net.SocketTimeoutException: Connect timed out
2024-12-17 11:58:41
115
原创 Android面试题
Intent intent = new Intent(当前Context, 目标Activity.class);1.SharePeference apply 和 commit的区别。6.说说kotlin run with apply also的区别。8.如何在开辟一个新的任务栈加载Activity。3.从系统层说说Activity的事件分发。4.LiveData绑定生命周期的原理。5.说说Kotlin的协程。
2024-11-27 17:38:00
128
原创 Java基础-线程池
3.keepAliveTime:多余线程存活时间,当空间时间达到keepAliveTime值时,多余的线程会被销毁直到只剩下CorePoolSize线程为止。7.handler:拒绝策略,表示当线程队列满了并且工作线程大于线程池的最大显示值的时候,如何来拒绝请求执行的runnable的策略。6.threadFactory:表示生成线程池中工作线程的线程工厂,用户创建新线程,一般默认即可。2.maximumPoolSize:线程池能够容纳同时执行的最大线程数,此值大于等于1。
2024-11-27 17:22:20
147
空空如也
求一份能运行的Retrofit2.8.0代码
2025-01-08
TA创建的收藏夹 TA关注的收藏夹
TA关注的人