java
droidDing
千里之行,始于足下
展开
-
glide溯源之线程池
glide溯源系列文章 一、 相关类 1. GlideExecutor 二、几个重要的线程池 1. 磁盘缓存线程池 //磁盘缓存线程池大小默认是1 private static final int DEFAULT_DISK_CACHE_EXECUTOR_THREADS = 1; public static GlideExecutor newDiskCacheExecutor() {...原创 2018-09-19 14:48:21 · 1938 阅读 · 0 评论 -
glide溯源之Key和缓存文件对应
glide溯源系列文章 看glide源码的时候,对glide关于磁盘缓存文件名、内存缓存文件和资源请求路径的对应关系很好奇,于是来了看看glide是怎么把这个问题处理好的兴趣。glide中定义了抽象接口Key来做各种唯一标识,所有Key的实现类下面有说明,实现方式类似,而Key和磁盘缓存文件名的关系通过SafeKeyGenerator中的getSafeKey方法来关联,本文分...原创 2018-09-20 11:38:54 · 2947 阅读 · 0 评论 -
glide溯源之网络请求管理
glide溯源系列文章 一、相关类简介 1. RequestManager:用来管理请求的类; 2. Request -> SingleRequest:一个请求,持有一个Engine; 3. Engine:负责加载任务,管理活跃、已缓存资源,一个Engine持有一个Jobs,一个Jobs持有多个EnginJob 4. EngineJob:加载任务,一个EnginJob持有一个Decode...原创 2018-09-21 09:41:26 · 1905 阅读 · 1 评论 -
glide溯源之设计学习
glide溯源系列文章 一、学习概览 1. 工厂模式 2. 面向抽象 3. 泛型 二、工厂 1. HttpUrlConnectionFactory:http请求工厂 2. ConnectivityMonitorFactory 3. TransitionFactory:动画工厂 4. EngineKeyFactory:引擎key工厂 5. EngineJobFactory:EnginJob工厂 ...原创 2018-09-21 14:39:09 · 194 阅读 · 0 评论 -
排序算法
一、基本排序算法介绍 1. 冒泡排序:对相邻元素进行两两比较,顺序相反则交换,每趟会将最小或最大元素浮到顶端,时间复杂度是O(n2) 2. 插入排序:每一步将一个待排序的记录插入到前面已经排好的有序序列中,直接插完所有元素为止,时间复杂度是O(n2) 3. 选择排序:每一趟从待排数据中选择出最小或者最大元素,直到排完为止,时间复杂度是O(n2) 4. 快排:将一个数组分成两个数组,再对两个...原创 2018-10-09 17:08:07 · 96 阅读 · 0 评论 -
验签设计及安全防护
不参与验签规则 如果key中包含WithoutSign,该key不参与验签; 请求url的字符串,如果请求的url中包含WithoutSign,该接口不参与验签; 验签 协议规则 传输方式:为保证交易安全性,建议采用HTTPS传输 提交方式:采用POST方式提交 数据格式:提交数据都为json;返回数据采用JSON 字符编码:统一采用UTF-8字符编码 签名算法:MD5 签名要求:请求和接收...原创 2019-05-13 16:19:52 · 902 阅读 · 1 评论