什么是线程安全问题 线程安全问题不是说线程不安全,而是多个线程之间交错操作有可能导致数据异常。就比如两个线程同时对一个数据进行操作,不能保证最后得到是数据是正确的,这就出现了...
前言 上篇文章讲了线程安全问题[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 协议,为什么还需要另一个协议?它能带来什么好处? 答案很简单...
之前写了一篇折叠流式布局,bug有点多,也不好改,究其原因就是写的逻辑太多,改起来不方便,毕竟主体逻辑不是自己写的,基于别人的改总是怪怪的。那么,我就想想这个东西的难点在哪?...
| 此文写于 2020年,与最新版本相差甚远,请酌情观赏 撒盐 一、clone 仓库 二、测试编译 三、将Shadow库发布到本地仓库 四、宿主接入1 添加依赖2 添加代理 ...
MVVMLin 一个基于MVVM用Kotlin+Retrofit+协程+Databinding+LiveData来封装的快速开发框架:项目地址:MVVMLin Github上...
好记性不如烂笔头。生活中多做笔记,不仅可以方便自己,还可以方便他人。 背景 开发的都知道,UI微调都是令人头痛的,尤其是颜色的微调。 如果视觉稿直接给颜色值那倒没啥,可怕的是...
点赞关注,不再迷路,你的支持对我意义重大!🔥 Hi,我是丑丑。本文 「Android 路线」| 导读 —— 从零到无穷大[https://www.jianshu.com/p/...
前言 插件化一直是百舸争流,Small、Replugin、Atlas等方案也是层出不穷,在android开发呈现百花齐放的感觉。最近看到了一种新的插件化方案,确切的说更像一种...