Android LiveData 使用详解 为什么要引进 LiveData LiveData 是一个可以被观察的数据持有类,它可以感知 Activity、Fragment或Service 等组件的生命周期。简单来说,他主要有一下优点。 它可以做到在组件处于激活状态的时候才会回调相应的方法,从而刷新相应的 UI。 不用担心发生内存泄漏 当...
Android消息总线的演进之路:用LiveDataBus替代RxBus、EventBus 背景 对于Android系统来说,消息传递是最基本的组件,每一个App内的不同页面,不同组件都在进行消息传递。消息传递既可以用于Android四大组件之间的通信,也可用于异步线程和主线程之间的通信。对于Android开发者来说,经常使用的消息传递...
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...
设计原则 之 开放封闭原则 分析一波 开放封闭原则,它规定了软件设计和维护时应该遵守的一种规则,即对扩展开放、对修改关闭。 扩展和修改不难理解,扩展指的是对原有的结构进行拓展,增加新的类让其继承父类、实现接口,利用多态、继承等特性进而实现新的功能。而修改在这里指的是更改那些已经投入使用的类尤其是抽象类和接口,包括增删改类方法及其实现步骤...