LiveDataBus核心原来如此简单 Android Architecture Components 系列目录 LiveData原理深入浅出,透过源码看本质 LiveDataBus框架抽丝剥茧后,原来如此简单 Android Room数据库,用过你才知道好 LiveData通过源码看本质 前言 使用介绍 结构分析 总结 博客创建时间:...
【Jetpack系列一】Jetpack介绍 文章目录 序言 Jetpack 架构组件 AAC架构 Jetpack UI组件 结语 作者信息 序言 不记得啥时候,Android 推出了 Android Jetpack,它是新一代组件、工具和架构指导,旨在加快 Android 应用开发速度。 Android Jetpack 分为四大块:Ar...
Lifecycle详细分析 Lifecycle源码分析 目录介绍 01.Lifecycle的作用是什么 02.Lifecycle的简单使用 03.Lifecycle的使用场景 04.如何实现生命周期感知 05.注解方法如何被调用 06.addObserver调用分析 07.知识点梳理和总结一下 00.使用AAC实现bus事件总线 利用L...
数据结构HashMap(Android SparseArray 和ArrayMap) HashMap也是我们使用非常多的Collection,它是基于哈希表的 Map 接口的实现,以key-value的形式存在。在HashMap中,key-value总是会当做一个整体来处理,系统会根据hash算法来来计算key-value的存储位置,我...
HashMap存取效率高原因、ArrayList和LinkedList区别、JAVA实现链表的基本功能 一、HashMap存取效率高原因 1、Hash 也叫散列、哈希。 主要用于信息安全领域中的算法,把长度不同的信息转化为杂乱的128位的编码,找到一种数据内容与地址之间的映射关系。 注意:不同的输入可能会散列成相同的输出 我们最熟悉的O...
HashMap和ArrayMap实现原理的区别以及各自优势 一、ArrayMap的构成原理 1、arrayMap的存储结构。 ArrayMap是一个<key,value>映射的数据结构,它设计上更多的是考虑内存的优化,内部是使用两个数组进行数据存储,一个数组记录key的hash值,另外一个数组记录Value值,它和Spars...
SparseArray实现原理 SparseArray SparseArray原理: SparseArray采用两个数组,用来存放key以及value值的,核心思想是通过折半查找来找到key对应的位置,然后取出值,或者插入值! 二分查找 static int binarySearch(int[] array, int size, int...
设计原则 之 开放封闭原则 分析一波 开放封闭原则,它规定了软件设计和维护时应该遵守的一种规则,即对扩展开放、对修改关闭。 扩展和修改不难理解,扩展指的是对原有的结构进行拓展,增加新的类让其继承父类、实现接口,利用多态、继承等特性进而实现新的功能。而修改在这里指的是更改那些已经投入使用的类尤其是抽象类和接口,包括增删改类方法及其实现步骤...
Flutter 数据库ORM框架floor使用详解 选型 数据库ORM框架可以提高开发效率,不用写一大堆的sql 网上搜了下,资料不多,官方也没有提供,第三方框架有但是在GitHub上的star数量都不高,以下是几个star数量比较靠前的: flutter_orm_plugin:GitHub上的demo及文档 jaguar_query_...
实现CSS圆环的5种方法(小结) 1. 两个标签的嵌套: <div class="element1"> <div class="child1"></div> </div> .element1{ width: 200px; height: 200px;...