什么是线程安全问题 线程安全问题不是说线程不安全,而是多个线程之间交错操作有可能导致数据异常。就比如两个线程同时对一个数据进行操作,不能保证最后得到是数据是正确的,这就出现了...
什么是线程安全问题 线程安全问题不是说线程不安全,而是多个线程之间交错操作有可能导致数据异常。就比如两个线程同时对一个数据进行操作,不能保证最后得到是数据是正确的,这就出现了...
前言 上篇文章讲了线程安全问题[https://www.jianshu.com/p/669ee2aec526],要保证原子性,可见性和有序性的操作才能保证线程安全。也讲到了s...
Android DeadSystemException 出现情况是被系统杀掉服务导致出现的原因,一般出现在后台用户无感知。 1.出错堆栈: 2.源码分析 3.解决思路 是否抛...
withContext 是 Kotlin 中一个非常有用的挂起函数,用于在协程中切换上下文。通常,我们使用协程来执行异步任务,例如网络请求或数据库查询,但是在执行异步任务时,...
Job是协程的默认context 子协程不会继承父协程的context,会使用默认值 协程的上下文为SupervisorJob时,该协程中的异常不会向外传播,因此不会影响其父...
本篇文章举例协程的各种方法的使用,并简单阐述各个方法的一些注意事项。 协程作用域的创建 1.通过工厂函数创建自定义上下文的作用域 2.通过工厂函数MainScope()创建主...
在上一篇从源码角度分析,为什么会发生Fragment重叠?里,我们分析了造成Fragment重叠的原因,这一篇我会介绍几个解决方案,同时给出一个我的方案:9行代码让你app内...
概要了解,先要明确这几个功能具体是做什么的,是为了解决什么问题 1.组件化 组件化首先要做的事是将app按功能模块进行拆分,降低各个模块间的耦合,并且可以将每个模块单独编译运...
一、为什么需要 WebSocket 初次接触 WebSocket 的人,都会问同样的问题:我们已经有了 HTTP 协议,为什么还需要另一个协议?它能带来什么好处? 答案很简单...