开发过程中,总会遇到一些需要事件通信的场景。如果逻辑比较简单,通过常规的传参,回调,返回值等即可实现。而如果调用层次较深(如跨模块,跨线程等),光靠传参和回调等手段,耦合度较...
开发过程中,总会遇到一些需要事件通信的场景。如果逻辑比较简单,通过常规的传参,回调,返回值等即可实现。而如果调用层次较深(如跨模块,跨线程等),光靠传参和回调等手段,耦合度较...
JMM定义了Java 虚拟机(JVM)在计算机内存(RAM)中的工作方式。JVM是整个计算机虚拟模型,所以JMM是隶属于JVM的。从抽象的角度来看,JMM定义了线程和主内存之...
本篇是系列的第二篇,专门讲述Doodle的设计和实现,概述和用法见另外两篇文章:(一)Doodle - 精简的图片加载框架 - 概述篇[https://www.jianshu...
一、序 之前了解AES加解密的过程中,阅读了一篇文章:《AES简介》[https://www.cnblogs.com/luop/p/4334160.html]除了从这篇文章中...
前言 翻译好的文章也是一种学习方式原文标题:Coroutines in Kotlin 1.3 explained: Suspending functions, context...
前言 自定义View 是 Android 开发者必须了解的基础 网上有大量关于自定义View 原理的文章,但存在一些问题:内容不全、思路不清晰、无源码分析、简单问题复杂化等等...
Android自定义View系列 Android自定义View之Paint绘制文字和线 Android自定义View注意事项 Android自定义View之Canvas An...
一、序 我之前发布了个图片加载框架,在JCenter关闭后,“闭关修炼”,想着改好了出个2.0版本。后来觉得仅增加功能和改进实现不够,得补充一下用例。相册列表的加载就是很好的...
一、序 Doodle是我几年前发布的一个图片加载框架。写Doodle的初衷:早期对包大小之类的还是很看重的,当时觉得Glide依赖包比较大,而我们需要的功能又比较简单,然后P...