天晴日无风

燃烧了一颗恒星来相见


  • 首页

  • 分类

  • 关于

  • 归档

  • 标签

ARouter源码解析

发表于 2018-05-18 | 分类于 源码解析

如果应用项目要做模块化, 必然绕不开为了模块间跳转解耦而做的处理, 我们都知道一般都会采用路由模式, 本篇主要解析阿里的开源路由框架ARouter, 源码地址可见Github,本篇分析版本为api1.3.1

阅读全文 »

androidAPT的使用

发表于 2018-05-17 | 分类于 android学习记录

前言

APT的概念大家应该不会陌生, 而且在很多第三方库中都有使用到, 最有名的应该就是ButterKnife了. 这里基础概念就略过了, 本篇主要是着重在怎么编写自己的注解处理器, 以及一些踩到的坑.

阅读全文 »

记录一次Gradle的踩坑

发表于 2018-05-15 | 分类于 日常开发踩坑记录

前提背景

来了新公司后第一个任务是给项目升级支持gradle插件3.0, 这个当初还是3.0.1的时候就做过, 所以并没有什么难度, 但是顺带要将内部的热更新插件同样升级碰到了个百思不得其解的问题.

阅读全文 »

ArrayList源码解析

发表于 2018-04-26 | 分类于 源码解析

前言

每个ArrayList都有一个容量(capacity)的含义, 他接近于本身队列长度大小, 基本每个元素在新增的时候,都可以做到自动扩容.本篇主要是了解他的扩容机制.本篇源码以openjdk8为准

阅读全文 »

EventBus源码解析

发表于 2018-03-30 | 分类于 源码解析

前言

前期加班加点赶项目, 趁着刚上线空两天,赶紧看下EventBus做个”思维复健”

使用

EventBus的使用非常简单, 如果使用默认的EventBus, 我们一般只会使用到以下三个API

  1. 绑定

    1
    EventBus.getDefault().regisiter(this);
  2. 发送信息

    1
    EventBus.getDefault().post(new Event());
  3. 解绑

    1
    EventBus.getDefault().unregisiter(this);
阅读全文 »

RxJava2源码解析(二)

发表于 2018-02-08 | 分类于 源码解析

前言

本篇主要解析RxJava的线程切换的原理实现

阅读全文 »

RxJava2源码解析(一)

发表于 2018-02-07 | 分类于 源码解析

前言

最近组内大佬打算分享RxJava2的源码, 赶紧先预习一波, 防止技术分享会上有听没懂.大概个人准备了几天的时间, 打算先整理以下自己的源码阅读记录.RxJava2的源码解析系列打算分别从以下三面来阐述:

  1. 数据源的订阅和响应原理
  2. 线程切换的原理
  3. 背压的实现(Flowable)

本篇主要尝试阐明数据源的订阅和响应原理

阅读全文 »

HashMap源码解析(一)

发表于 2018-02-02 | 分类于 源码解析

前言

本篇主要了解下HashMap的源码, 以便了解其常用方法的实现原理.本篇以android SDK API26内的Java源码为准

HashMap是什么

HashMap是基于实现Map接口的哈希表, 但是他和HashTable有一定的区别, 主要区分在HashMap可以传null的键值对, 而且他不是线程安全的, 如果需要支持同步, 则需要调用Collections.synchronizedMap(Map<K,V> m)方法. 同时, HashMap不能保证时间推移下map内顺序不变.

阅读全文 »
1234
天晴日无风

天晴日无风

开发笔记

30 日志
7 分类
17 标签
GitHub
© 2017 - 2020 天晴日无风
由 Hexo 强力驱动
主题 - NexT.Pisces