一、概述 事件总线有多种实现,仅Android平台就有 EventBus[https://github.com/greenrobot/EventBus]、LiveEventB...
一、概述 事件总线有多种实现,仅Android平台就有 EventBus[https://github.com/greenrobot/EventBus]、LiveEventB...
JMM定义了Java 虚拟机(JVM)在计算机内存(RAM)中的工作方式。JVM是整个计算机虚拟模型,所以JMM是隶属于JVM的。从抽象的角度来看,JMM定义了线程和主内存之...
一、 概述 众所周知,用kotlin委托属性去封装KV存储库,可以优化数据的访问。封装方法有多种,各有优劣。通过反复实践,笔者摸索出一套比较好用的方案,借此文做个简单的分享。...
一、序 之前了解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...
本篇本系列的最后一篇,概述和原理见另外两篇文章:(一)Doodle - 精简的图片加载框架 - 概述篇[https://www.jianshu.com/p/31d51a06b...
本篇是系列的第二篇,专门讲述Doodle的设计和实现,概述和用法见另外两篇文章:(一)Doodle - 精简的图片加载框架 - 概述篇[https://www.jianshu...
一、序 Doodle是我几年前发布的一个图片加载框架。写Doodle的初衷:早期对包大小之类的还是很看重的,当时觉得Glide依赖包比较大,而我们需要的功能又比较简单,然后P...
文中提到的图片加载框架:https://github.com/BillyWei01/Doodle
关于Android相册实现的一些经验一、序 我之前发布了个图片加载框架,在JCenter关闭后,“闭关修炼”,想着改好了出个2.0版本。后来觉得仅增加功能和改进实现不够,得补充一下用例。相册列表的加载就是很好的...
一、序 我之前发布了个图片加载框架,在JCenter关闭后,“闭关修炼”,想着改好了出个2.0版本。后来觉得仅增加功能和改进实现不够,得补充一下用例。相册列表的加载就是很好的...
前言 最近做项目,使用 RecycleView + SwipeRefreshLayout 刷新时,列表总是闪烁。 1、为什么会闪烁?闪烁是 notifyDataSetChan...
一、前言 工作中有时候需要对数据进行加密,就笔者从事的Android开发来说, 上层开发语言为Java/Kotlin,JDK本身提供了一套加解密接口,可以很方便地调用加密/解...
目前很多开发组都用上协程来处理异步任务了,但是有的地方协程提供的原生API还是不足以应付,比方说一些SDK提供了传入Executor的接口(以便复用调用者的线程池来执行异步任...
一、前言 KV存储无论对于客户端还是服务端都是重要的构件。对于Android客户端而言,最常见的莫过于SDK提供的SharePreferences(以下简称SP),但其低效率...