自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Jetpack常用组件-深入理解DataBinding

DataBinding是Android官方提供的数据绑定支持库,通过编译时生成绑定类实现视图与数据的自动同步。其核心原理包括:1)编译时处理布局文件生成绑定类;2)基于观察者模式实现数据变更通知;3)支持单向和双向数据绑定。关键实现涉及布局文件声明、绑定类生成和数据对象Observable实现。相比传统方式,DataBinding减少了模板代码,提高了可维护性,同时保持良好性能。最佳实践建议保持布局逻辑简单,优先使用单向绑定,并配合LiveData实现生命周期感知。该技术通过声明式编程范式,显著简化了And

2025-06-30 15:25:02 563

原创 HTTP三次握手与四次挥手

TCP连接通过三次握手建立:客户端发送SYN包,服务器回应SYN+ACK,客户端返回ACK确认后进入ESTABLISHED状态。断开连接需要四次挥手:客户端发送FIN包,服务器ACK确认后进入CLOSE_WAIT,服务器发送FIN包,客户端ACK确认后进入TIME_WAIT状态,最终关闭连接。这种机制确保了可靠的数据传输和连接管理。

2025-06-25 23:15:05 313

原创 Jetpack常用组件-深入理解LiveData

LiveData是Android Jetpack的核心组件,采用观察者模式实现数据与UI的双向绑定。它具有生命周期感知能力,能自动管理订阅关系,避免内存泄漏,并确保UI只在活跃状态下更新。使用步骤包括:创建LiveData对象(通常在ViewModel中)、添加观察者、更新数据(主线程用value,子线程用postValue)。其源码实现通过ObserverWrapper处理生命周期,使用版本号机制保证数据一致性,并通过线程安全设计支持跨线程更新。核心类包括MutableLiveData、MediatorL

2025-06-22 11:15:45 1785

原创 Jetpack常用组件-深入理解Lifecycle

摘要: Lifecycle是Android Jetpack的核心组件,用于管理Activity/Fragment的生命周期。通过LifecycleOwner(被观察者)、Lifecycle(状态管理器)和LifecycleObserver(观察者)实现监听机制。观察者通过注解绑定生命周期事件,注册后即可自动回调。实现原理分两种情况:API 29+直接注册ActivityLifecycleCallbacks,低版本通过无界面Fragment监听。LifecycleRegistry统一管理状态同步,确保线程安全

2025-06-20 16:22:46 1590

原创 Android使用线程池实现多串口同时通讯

在Android中,串口通信是一种与外部设备进行数据交换的常见方式,是一种用于将数据按位传输的通信接口,它可以连接各种外部设备,如传感器、显示器、打印机等.

2023-08-01 22:57:34 1108 1

空空如也

空空如也

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

TA关注的人

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