logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Android通用开发——AIDL源码理解

AIDL是Android跨进程通信的核心机制,通过Binder驱动实现进程间方法调用。编译时自动生成Stub(服务端骨架)和Proxy(客户端代理)类,Stub负责解码请求并调用真实逻辑,Proxy则将调用序列化为Parcel数据包。关键点包括:1) 必须实现Parcelable接口进行高效序列化;2) 服务端采用Binder线程池处理并发请求;3) 可使用oneway实现异步调用。AIDL通过封

文章图片
#android
Android学习总结之类LiveData与ViewModel关系篇

ViewModel负责存储UI相关数据,LiveData作为可观察的数据持有者,通知UI层数据变化。LiveData具有生命周期感知能力,确保数据更新仅在活跃状态下通知观察者,避免内存泄漏。ViewModel的生命周期与Activity或Fragment绑定,确保数据在配置变更时不会丢失。LiveData自身具备自动取消订阅的能力,不依赖ViewModel。自定义LiveData可通过继承Live

文章图片
#android#学习#java
Android-重学kotlin(协程源码第二阶段)新学习总结

Kotlin协程调度机制通过CoroutineContext容器管理上下文信息,其中ContinuationInterceptor接口及其实现CoroutineDispatcher负责调度逻辑。Dispatchers提供预定义调度器(如Main、IO),通过拦截Continuation实现线程切换。CoroutineScope则通过强制绑定Job元素形成N叉树结构管理协程生命周期,实现父子协程的取

文章图片
#android#kotlin#学习
Android学习总结之kotlin篇(二)

Kotlin扩展函数在编译时转换为静态方法,接收者对象作为第一个参数传入,实现功能扩展而不修改原类字节码。协程通过状态机和Continuation接口实现挂起与恢复,挂起函数编译为带Continuation参数的普通函数,避免线程阻塞。Java调用Kotlin函数时,需注意参数可空性,非空类型传入null会抛出NullPointerException。

文章图片
#android#学习#kotlin
Android Studio打包流程、代码混淆、应用启动

Java和kotlin代码之间的区别和apk打包时的不同

文章图片
#android#java#学习
Android第七次面试总结(Java和kotlin源码级区别 )

kotlin和Java基本使用之间的区别以及apk打包的不同

文章图片
#android#java#kotlin
Android-kotlin(协程源码第一阶段)技术总结

本文分析了Kotlin协程的两个核心技术:挂起函数实现原理和协程启动机制。挂起函数通过CPS转换被编译为带Continuation参数的状态机,使用label标记状态流转,通过COROUTINE_SUSPENDED实现挂起/恢复。协程启动通过CoroutineScope.launch构建,采用上下文继承机制,支持DEFAULT/LAZY等启动模式,async与launch的核心区别在于Deferr

文章图片
#android#kotlin
    共 12 条
  • 1
  • 2
  • 请选择