自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 数据结构-栈

栈又名后进先出表,它是一种运算受限的线性表。其限制是仅运行在表的一端进行插入和删除运算。这一端被称为栈顶,相对的,把另一端称为栈底。

2025-06-02 21:10:36 33

原创 线性与列表

相互之间存在一种或多种特定关系的数据元素集合。

2025-05-31 20:23:35 274

原创 Kotlin-协程

协程是一种用户态的轻量级程序组件,其核心特点是通过协作式调度实现单线程内的伪并发。

2025-05-30 13:13:10 164

原创 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

原创 AndroidAPK瘦身

APK瘦身

2025-05-12 16:32:44 160

原创 JetPack-LifeCycle

3.标准化生命周期定义:五大状态(INITIALIZED/DESTROYED等)和七大事件的枚举化设计,解决了传统生命周期回调的碎片化问题,便于跨组件复用‌。1.处理异步生命周期冲突:状态机可通过缓存事件和状态校验保证最终生命周期一致性。2.性能提升:状态缓存。

2025-04-14 13:24:10 275

原创 RecycelView

recycelview

2025-02-21 14:09:16 85

原创 Android自定义控件

1.生命周期onLayout()

2025-02-21 13:31:42 244

原创 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

原创 WindowManager

WindowManager的参数说明

2024-12-18 16:27:16 269

原创 Android-数据结构优化

android性能优化

2024-12-18 16:22:57 540

原创 Android应用开发零散知识点

【代码】Android应用开发零散知识点。

2024-12-18 10:22:42 116

原创 使用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入职注意事项

Android入职指南

2024-12-16 18:33:04 480

原创 一个大专生的安卓十年

安卓回忆录

2024-11-29 20:24:38 111

原创 Aidl与Binder机制

Binder

2024-11-29 17:52:28 131

原创 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

原创 关于程序员的一些思考

学习是一种能力。

2024-11-25 23:29:49 113

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除