首页
个人开发
工作相关
共享
搜索
登录
搜索
colo
欲买桂花同载酒
累计撰写
1823
篇文章
累计收到
0
条评论
首页
栏目
首页
个人开发
工作相关
共享
Android Kotlin
2025-12-14
在Android中实现线程安全且内存安全的Kotlin单例,支持延迟初始化与配置变化恢复
实现要点:使用by lazy或companion object实现延迟初始化结合@Volatile和双重检查锁定保证线程安全通过Application上下文避免内存泄漏处理配置变化时的实例重建问题利用LazyThreadSafetyMode优化性能
2025年-12月-14日
5 阅读
0 评论
Android Kotlin
2025-12-14
在 Android 中实现线程安全的延迟初始化单例
在 Kotlin 中实现线程安全单例的最佳方式是:使用 by lazy 委托实现惰性初始化选择正确的 Lazy 线程安全模式:LazyThreadSafetyMode.SYNCHRONIZED避免手动实现 DCL(Double-Checked Locking),除非有特殊性能需求使用伴生对象作为单例的持有者示例代码:class MySingleton private constructor() { companion object { val instance: MySingleton by lazy { MySingleton() } } }
2025年-12月-14日
4 阅读
0 评论
Android Kotlin
2025-12-12
设计线程安全的单例模式,支持延迟初始化并避免Android内存泄漏
实现要点:使用双重检查锁定(Double-Checked Locking)结合@Volatile和synchronized通过Application Context避免内存泄漏Kotlin特性:by lazy委托的线程安全模式选择防止反射/序列化破坏单例
2025年-12月-12日
4 阅读
0 评论
Android Kotlin
2025-12-12
在Android中使用Kotlin协程处理网络请求时如何避免内存泄漏
在Android中使用Kotlin协程处理网络请求时,避免内存泄漏的核心方法是:使用lifecycleScope或viewModelScope自动绑定组件生命周期在onDestroy()中取消协程作业避免在协程中直接引用View或Activity使用coroutineScope或supervisorScope实现结构化并发结合LiveData和协程处理数据更新
2025年-12月-12日
4 阅读
0 评论
Android Kotlin
2025-12-12
Kotlin 标准函数 let 和 also 的区别与使用场景
let 和 also 都是 Kotlin 的标准作用域函数,主要区别在于:返回值不同:let 返回 lambda 表达式结果,also 返回上下文对象本身使用场景不同:let 常用于转换或处理对象,also 适合执行副作用操作空安全:两者都支持安全调用操作符(?.)避免空指针异常
2025年-12月-12日
4 阅读
0 评论
Android Kotlin
2025-12-12
在ViewModel中正确使用Kotlin协程处理异步任务
在ViewModel中使用协程处理异步任务时:使用viewModelScope自动绑定ViewModel生命周期在init或事件响应中启动协程使用launch或async进行异步操作通过try/catch或CoroutineExceptionHandler处理异常避免在ViewModel中直接暴露suspend函数给UI层
2025年-12月-12日
5 阅读
0 评论
Android Kotlin
2025-12-12
Kotlin标准函数let与apply的区别及使用场景
let和apply都是Kotlin标准库中的作用域函数,主要区别:返回值不同:let返回lambda表达式结果,apply返回上下文对象本身访问对象方式不同:let使用it访问对象,apply使用this适用场景不同:let适合空检查和转换操作,apply适合对象初始化和配置
2025年-12月-12日
4 阅读
0 评论
Android Kotlin
2025-12-11
Kotlin中如何安全地访问可能为null的对象属性?
在Kotlin中安全访问可空对象属性的方法:使用?.安全调用操作符避免NullPointerException配合?:Elvis操作符提供默认值使用let函数进行非空处理
2025年-12月-11日
4 阅读
0 评论
Android Kotlin
2025-12-11
Kotlin空安全机制及安全调用操作符的使用
Kotlin通过以下机制避免空指针异常:默认变量不可为null,需显式声明为可空类型(加?)使用安全调用操作符?.访问可空对象属性/方法配合Elvis操作符?:提供默认值使用非空断言!!(需谨慎)强制解包
2025年-12月-11日
4 阅读
0 评论
Android Kotlin
2025-12-8
Android中如何安全启动协程并处理生命周期?
在Android中使用协程时需注意:使用lifecycleScope自动绑定生命周期在ViewModel中使用viewModelScope通过SupervisorJob处理独立任务异常使用try/catch或CoroutineExceptionHandler捕获异常避免在onDestroy后更新UI
2025年-12月-8日
4 阅读
0 评论
Android Kotlin
1
2