处理概括关系 11.1 Pull Up Field (字段上移) 两个子类拥有相同的字段,将字段移至超类 11.2 Pull Up Method (函数上移) 有些函数,在各...
处理概括关系 11.1 Pull Up Field (字段上移) 两个子类拥有相同的字段,将字段移至超类 11.2 Pull Up Method (函数上移) 有些函数,在各...
重新组织数据 8.1 Self Encapsulate Field (自封装字段) 为字段建立取值/设值函数,并且只以这些函数来访问字段 间接访问变量的好处: 子类可以通过腹...
在对象之间迁移数据 7.1 Move Method (搬移函数) 如果一个类有太多行为,或如果一个类与另一个类有太多合作而形成高度耦合,就需要搬移函数在类中寻找这样的函数:使...
第三章 代码的坏味道 重复代码 过长函数 过大的类 过长参数列 发散式变化(某个类经常因为不同的原因在不同的方向上发生变化) 霰弹式修改 (每遇到某种变化,都必须在许多不同的...
第一章 重构的基础: 我们需要为即将修改的代码建立一套可靠的测试环境,为了使重构的结果能够得到保证,我们需要可靠的测试方式 分解并重组: 分解和重组的意义:代码块越小,代码的...
应用场景 新接到一个需求,统计商品列表中每个条目被用户观看的时间,从而来挖掘用户兴趣点。这个需求很常见,比如今日头条的新闻、简书的推荐文章、美团的推荐美食都需要统计用户在每个...
lambda是可以插桩成功的 主要从visitDynamicInstric那里入手
ASM字节码插桩实现点击防抖关于gradle plugin和transform之前的文章说过了,这里就不展开说了思路:在点击事件onclick的时候,将view的onclick在给定的时间给拦截掉。以前...
? 你在教我做事?
[Android]朝花夕拾之使用DexClassLoader动态加载广点通jar包1. 背景 几年前做过一个需求,背景是这样的: 公司的App中接入了广点通广告,这需要在APP内嵌入广告SDK。 在OPPO VIVO等应用市场中,如果APP嵌入了第三方广...
这个其实和图片质量也有一定的关系 你可以试一下第一种方案卡不卡 再看下第二种方案 如果第一种不卡第二种卡的话 可能是我的逻辑写的有问题 我再检查一下😄😄😄
[Android]实现RecyclerView和背景同步滑动的效果最近公司项目要求实现一个效果,RecyclerView的背景是一张很长的图片,在RecyclerView元素滑动的同时,背景图也要跟随滑动,如果背景图滑出屏幕或者没有占满屏幕...
你是要动态加载jar包么? 操作其实就是这篇博客里讲的 有一个反射的工具类没列出来 你私聊我我跟你说吧
[Android]朝花夕拾之使用DexClassLoader动态加载广点通jar包1. 背景 几年前做过一个需求,背景是这样的: 公司的App中接入了广点通广告,这需要在APP内嵌入广告SDK。 在OPPO VIVO等应用市场中,如果APP嵌入了第三方广...
首先,写一个demo: 运行后,一定会报如下的错误: 这个错误是怎么来的呢,所谓的token null is not valid中的token又是什么呢?本篇我们来通过源码来...
1. 前言 在上篇关于lambda表达式实现方式的文章中,有提到一个概念叫做MethodHandle,当时的解释是类似于C/C++的函数指针,但是文章发出后咨询友人的意见,发...
当我们提起java lambda表达式的实现时,第一反应一定是:这就是java的语法糖啊,它实现肯定还是匿名内部类啊! 但是,事实真的是这样么?不要着急,我们做个试验先。众所...
1. 概念 首先我们来复习一下java内存模型,java运行时数据区大概分为五块,分别是 方法区 虚拟机栈 本地方法栈 堆 程序计数器 而运行时常量池是方法区的一部分,文字解...
1. 背景 几年前做过一个需求,背景是这样的: 公司的App中接入了广点通广告,这需要在APP内嵌入广告SDK。 在OPPO VIVO等应用市场中,如果APP嵌入了第三方广...
1. 前言 Virtual APK[https://github.com/didi/VirtualAPK]是滴滴出行自研的一款优秀的插件化框架,其主要开发人员有任玉刚老师 说...
本文为原创文章,转载请注明出处,原创不易,且转且珍惜 1. 前言 几年前做过一个类似MIUI时钟的效果,逻辑比较简单,虽然MIUI经过几年的系统迭代,时钟早已不是这个效果,但...