Don Blog

Thinking will not overcome fear but action will.

Artifactory助飞你的开发效率

JFrog Artifactory有的人陌生但有的人不陌生。它主要是一款二进制存储管理工具,可以搭建私服,帮助我们管理我们的构件,以提升我们的开发效率。 笔者将从搭建开始并示范如何提升你的开发效率。 搭建之前请先android jdk1.8,否则搭建不成功 下载 下载地址(Windows & Mac): 链接: https://pan.baidu.com/s/1phFGTa7-...

Rxjava2中CompositeDisposable解除订阅注意事项

在Rxjava2中可以使用CompositeDisposable的dispose()和clear()2个方法批量解除订阅,但是这2个方法却有很大的区别,如果不知道其中区别而你一旦又用错了地方,那你会很难找到问题的原因。 让我们先来看一下CompositeDisposable的相关源码: /** * A disposable container that can hold onto mul...

Android 面试之内存优化篇

众所周知,内存对于Android来说是非常宝贵的,而且它对于应用程序的影响是非常大的,因此在面试时经常会被问到内存相关的问题,本文,笔者将带领大家一起来学习一下Android中的内存优化。 如果有朋友不想对原理有些了解,只对优化方案感兴趣的话可以直接跳过前面3部分,从第4部分看起即可,但是笔者还是希望您能从头看起。 一、Android内存管理机制 内存管理说白了其实就是对内存的分配与回收...

android gradle 升级到3.5.2以上版本报错 :app:compileDebugJavaWithJavac

每次打开android studio 都会提示 gradle 升级,有一天手贱升级了,从3.1.4升级到3.5.3,然后遇到了如下错误: org.gradle.internal.exceptions.LocationAwareException: Execution failed for task ':app:compileDebugJavaWithJavac'. at org.gradl...

完美解决ScrollView嵌套可滑动EditText滑动冲突的问题

最近有个项目,ScrollView中嵌套嵌套了一个可以上下滑动的多行EditText,而且EditText滑动到顶部或者顶部时需要将滑动事件交还给ScrollView, 具体效果如下(图片中可能有些卡顿,但是实际非常流畅): 好了,话不多说,直接上代码: public class EditTextWithScrollView extends AppCompatEditText { ...

Android事件分发机制详解

我想不管是在开发过程中还是在面试过程中都会碰到View事件分发机制的相关问题,今天我们就由浅入深、全面刨析一下事件分发的机制,请耐心看完,如果看完后还没有理解就请你打我。 事件分发的原理 事件分发,其实就是责任链模式的一种(责任链模式分为纯责任链与不纯责任链,此处应为纯责任链模式。责任链模式的定义:避免将一个请求的发送者与接收者耦合在一起,让多个对象都有机会处理请求。将接收请求的对象连接成...

Android Databinding 报错Cannot resolve symbol BR.xxx.

在使用DataBinding开发的过中,经常会出现无法引用到BR类的字段的情况,如下图所示: 一般情况下会有以下几种解决办法: 1、Clean Project 2、Rebuild Project 3、Invalidate caches/restart 但是很不幸,有时候以上方法仍然无法解决,此处记录以下我的解决方法,以备他日不时之需: 重新导入BR类的包或者在BR类...

币安返现10%的推荐ID

注册币安Binance.com(binance-cn.com)时会需要输入推荐人ID(可选),如果输入此优惠ID “SWD6KKA4” 可以终生享受有关加密货币交易费用10%的返现。 您可以直接点击下面的链接注册https://www.binance-cn.com/cn/register?ref=SWD6KKA4/ 输入推荐ID的地方如下图所示: 当你输入”SWD6KKA4...

浅谈观察者模式

定义 观察者模式又称为发布————订阅(Publish-Subscribe)模式、模型-视图(Model-View)模式或源-监听器(Source-Listener),是一种对象行为型模式。它定义了对象之间的一种一对多的依赖关系,使得每当一个对象状态发生改变时其相关依赖对象都得到通知并被自动更新。 观察者模式结构 观察者模式结构中通常包括观察目标和观察者2个继承层次结构,如下图所示: ...

浅谈单例模式

在日常开发中,单例模式是我们计较常用的设计模式之一,今天,我们就来看一下单例模式的几种实现。 定义 确保一个类只有一个实例,并提供一个全局访问点来访问这个唯一的实例 单例模式是一种对象创建型模式。 单例模式3要素 声明一个类型为自身的静态私有成员变量 声明一个公有的静态工厂方法,返回唯一实例 将构造函数的可见性修改为private 饿汉式单例 饿汉式单例的实例在类装...