240 发简信
IP属地:浙江
  • 120
    深入分析ConcurrentHashMap1.8的扩容实现

    简书 占小狼 转载请注明原创出处,谢谢! 此谓知本,此谓知之至也 《礼记·大学》 1、深入浅出ConcurrentHashMap(1.8)2、谈谈ConcurrentHash...

  • 存在内存泄漏, LiveData内部维护的mObservers订阅的时候key是你包装的ObserverWrapper对象, 但是remove观察者用到的还是实际的Observer
    按你的做法, 针对BusLiveData应该还要对观察者的包装类进行管理

    用LiveData实现一个事件总线

    在通信总线类框架中,EventBus因其简洁的使用方式和解耦能力受到广大开发者的喜爱并在之后衍生除了诸如RxBus等基于观察者模式的框架写的通信库。对于LiveData的使用...

  • @白昭羽 mavenLocal是传到默认本地maven地址, mac一般是~/.m2路径, windows在C:\Users\{your-username}\.m2\repository
    repo的demo是基于`maven`插件在另外一个脚本内
    publish的脚本是基于`maven-publish`插件, 相关的说明不在本篇文章内.

    android 多aar上传私人maven服务器

    前言 为了精简目前底层的基础组件库, 拆分出必要依赖项目(有一定精简)和完全的依赖项目,第一想法是在library上构建变种(Variant)版本, 一次发布所有的变种,在研...

  • 你如果要测试, 请执行xxxToMavenLocal的相关task, ToMavenRepository是到远程maven服务器上, demo内没配置相关账号信息, 当然不能通过, xxxToMavenLocal的task是本地maven

    android 多aar上传私人maven服务器

    前言 为了精简目前底层的基础组件库, 拆分出必要依赖项目(有一定精简)和完全的依赖项目,第一想法是在library上构建变种(Variant)版本, 一次发布所有的变种,在研...

  • @lfp1991lfp 这个可以实现

    android 多aar上传私人maven服务器

    前言 为了精简目前底层的基础组件库, 拆分出必要依赖项目(有一定精简)和完全的依赖项目,第一想法是在library上构建变种(Variant)版本, 一次发布所有的变种,在研...

  • @jihf 这个你自己百度吧, 网上一大堆教程

    android 多aar上传私人maven服务器

    前言 为了精简目前底层的基础组件库, 拆分出必要依赖项目(有一定精简)和完全的依赖项目,第一想法是在library上构建变种(Variant)版本, 一次发布所有的变种,在研...

  • @jihf ?? 我应该文里都写了吧. 没明白你的问题在哪里

    android 多aar上传私人maven服务器

    前言 为了精简目前底层的基础组件库, 拆分出必要依赖项目(有一定精简)和完全的依赖项目,第一想法是在library上构建变种(Variant)版本, 一次发布所有的变种,在研...

  • 关于适配Replugin插件化框架的使用

    前言 公司有内部开发的路由框架, 为了可适配Replugin插件化框架, 当前的路由框架肯定是不能使用的, 由于项目闭源, 这里主要讲下改造的思路 原路由设计思路以及主要问题...

  • AppPlugin源码解析

    之前为了优化内部的Route, 去看了下TransformAPI, 然后就顺便看了下AppPlugin的源码.本篇源码基于android gradle 3.0.1的版本. 总...

  • ARouter源码解析

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

  • andoridAPT使用

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

  • ArrayList源码解析

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

  • EventBus源码解析

    前言 前期加班加点赶项目, 趁着刚上线空两天,赶紧看下EventBus做个"思维复健" 使用 EventBus的使用非常简单, 如果使用默认的EventBus, 我们一般只会...

  • :persevere: 对, 笔误, 是队首

    LruCache解析

    前言 在学习Glide的时候, 我们会看到Glide的二级缓存, 分别分为内存缓存和磁盘缓存, 而不论哪种缓存都使用到了Lru算法, 本篇主要看一下Android里的LruC...

  • RxJava源码解析(二)

    前言 本篇主要解析RxJava的线程切换的原理实现 subscribeOn 首先, 我们先看下subscribeOn()方法, 老样子, 先上Demo subscribeOn...

  • 120
    RxJava源码解析(一)

    前言 最近组内大佬打算分享RxJava2的源码, 赶紧先预习一波, 防止技术分享会上有听没懂.大概个人准备了几天的时间, 打算先整理以下自己的源码阅读记录.RxJava2的源...

  • 120
    HashMap源码解析(一)

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

  • LruCache解析

    前言 在学习Glide的时候, 我们会看到Glide的二级缓存, 分别分为内存缓存和磁盘缓存, 而不论哪种缓存都使用到了Lru算法, 本篇主要看一下Android里的LruC...