热修复原理学习(4)冷启动类加载原理

前面我们提到的热替换原理,根本是基于 native层方法的替换,所以当类的结构发生变化时,热部署模式就会搜到限制。但是冷部署能突破这种约束,可以更好的达到修复目的,再加上冷部署在稳定性上有独特的优势,因此可以作为热部署的有力补充而存在。1. 冷启动类加载原理1.1 冷启动实现方案概述冷启动重启生效,现在一般有两种实现方案:QQ空间Tinker原理为了解决Dalvi...
分类: 移动开发 发布时间: 08-08 07:36 阅读次数: 0

7月小记附面经

又到了每年一度的β->α世界线的时间。因为7月还没有写Blog,所以赶紧在8月到来之前补一下。整个6月都是在职找工作的状态,然后7月初入职了新公司,直到目前还在熟悉代码+做一些很小的需求,所以还是先打算把工作上的一些前期的事情处理完,再来写Blog。1. 找工作先说下找工作的事情吧,我大概从4月初开始,利用下班后时间和周日来看面试题,主要从github+大神公众号+牛客,成千上百的问题解析,根本看不完的。所以在看了一段时间后,就索性不这样搞了。开始写简历,写完之后,从面试官的角度来看自己的简历
分类: 移动开发 发布时间: 08-08 07:36 阅读次数: 0

Android Studio 制作简易计算器

边学边写的代码。 如果是制作简易计算器的话是基本没有难点的。 步骤是先写好界面布局,将按钮的布局、字号颜色啥的做好,再就是设置监听器。 使用了NoTitleBar的主题 代码如下: activity_main里关于界面的代码:<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://sc
分类: 移动开发 发布时间: 08-08 07:36 阅读次数: 0

修改elementui 里面input的placeholder字体颜色

代码:.el-input__inner::placeholder { color: #31E5F5;}/* 谷歌 */.el-input__inner::-webkit-input-placeholder { color: #31E5F5;}/* 火狐 */.el-input__inner:-moz-placeholder { color: #31E5F5;}/*ie*/.el-input__inner:-ms-input-placeholder { color:
分类: 编程语言 发布时间: 08-08 07:36 阅读次数: 0

Flutter 学习 容器类Widget

文章目录1. 概述2. 填充 Padding3. 装饰容器 DecoratedBox3.1 BoxDecration4. 变换 Transform4.1 平移4.2 旋转4.3 缩放4.4 RotatedBox5. Container容器6. Clip7 FittedBox8. 脚手架 Scaffold1. 概述容器类和布局类都是接收子Widget展示,他们有很多相同点,而它们的不同点是:布局Widget一般接收一个 Widget 数组,它们直接或间接继承自 MultiChildRenderObje
分类: 移动开发 发布时间: 08-08 07:35 阅读次数: 0

《重构》学习(4)常用的重构手法 上

文章目录3. 第一组重构3.1 提炼函数3.1.1 抽出无关局部变量的代码3.1.2 有局部变量的提炼3.1.3 对局部变量再赋值3.2 内联函数(Inline Function)3.2.1 使用内联函数的场景3.2.2 使用内联函数的步骤3.2.3 范例3.3 提炼变量3.3.1 使用场景3.3.2 步骤3.3.4 示例3.4 内联变量我这边学习直接跳过了《重构》第3、4、5章,原因是:第三章,代码坏味道比较公式化的原则,仅是记录,在开发中规避,养成习惯就好了第四章, 构筑测试体系我所在的公司
分类: 移动开发 发布时间: 08-08 07:35 阅读次数: 0

《重构》学习(5)常用的重构手法 下

系列文章目录1. 《重构》学习(1)拆分 statement 函数2. 《重构》学习(2)拆分逻辑与多态使用3. 《重构》学习(3)概述4. 《重构》学习(4)常用的重构手法 上文章目录系列文章目录3.7 变量改名3.8 引入参数对象(Introduce Parameter Object)3.8.1 为什么3.7 变量改名Rename Variable:这一节就无须多解释了,变量名称不要取有歧义的,也不要为了图便宜,而经常简写。例如把 name 简写成 nm, 把 company
分类: 移动开发 发布时间: 08-08 07:35 阅读次数: 0

Flutter学习 可滚动Widget 上

文章目录1. 可滚动组件介绍1.1 Scrollable1.2 Viewport1.3 Sliver1.4 可滚动组件的通用配置1.5 ScrollController1.6 子节点缓存1.7 Scrollbar2. SingleChildScrolView1. 可滚动组件介绍Flutter 中有两种布局模型:基于 RenderBox 的盒布局模型基于 RenderSliver 的按需加载列表布局Sliver 的作用是: 加载子组件并确定每一个子组件的布局和绘制信息,如果 Sliver 可以包
分类: 移动开发 发布时间: 08-08 07:35 阅读次数: 0

Flutter学习 可滚动Widget 中

文章目录5. AnimatedList5.1 实例代码6. GridView6.1 SliverGridDelegateWithFixedCrossAxisCount6.2 GridView.count6.3 SliverGridDelegateWithMaxCrossAxisExtent6.4 GridView.extent6.5 GridView.builder6.5.1 范例5. AnimatedListAnimatedList 和 ListView 功能差不多, 顾名思义,它在列表中插入节点或
分类: 移动开发 发布时间: 08-08 07:35 阅读次数: 0

Flutter学习 可滚动Widget 下

文章目录11 自定义 Sliver11.1 Sliver 布局协议11.2 Sliver 模型 和 盒模型11.3 SliverFlexibleHeader11 自定义 Sliver这里通过官方示例的两个 Sliver, 来说明 Sliver 布局协议和 自定义 Sliver 的具体过程11.1 Sliver 布局协议Viewport 将当前布局信息和配置信息通过 SliverConstraints 传递给 SliverSliver 确定自身的位置、绘制等信息,保存在geometry 中 ,这就
分类: 移动开发 发布时间: 08-08 07:35 阅读次数: 0

Flutter学习 功能型Widget

文章目录1. WillPopScope1.1 示例2. InheritedWidget2.1 didChangeDependencies2.2 深入了解 InheritedWidget1. WillPopScope是导航返回拦截的组件, 类似于 Android 中封装的 onBackPress 方法,来看看它的构造函数:class WillPopScope extends StatefulWidget { const WillPopScope({ Key? key, require
分类: 移动开发 发布时间: 08-08 07:35 阅读次数: 0

Flutter学习 文件操作与网络请求

文章目录1. 文件操作1.1 App 目录1.2 示例1. 文件操作Dart 有 io 库,包含了文件读写,所以可以通过该库可以操作 Dart VM 下的脚本 和 Flutter。和 Dart VM 相比, Flutter 一个比较重要的差异是文件系统路径不同, Dart VM 是运行在 PC 或 服务器操作系统下, 而 Flutter 是运行在 移动操作系统(Android 、 iOS)中,这会导致文件系统有一些差异。1.1 App 目录Android 和 iOS 的应用存储目录不同, Path
分类: 移动开发 发布时间: 08-08 07:35 阅读次数: 0

Kotlin 用函数编程

文章目录1. 函数式编程风格的意义1.1 数学中的函数1.1.1 偏函数1.1.2 多参数的函数1.1.3 柯里化函数1.1.4 偏应用函数1.2 Kotlin中的函数2. 柯里化函数内容:● 了解Kotlin函数本质● Lambda 表达式(Lambda学习)● 使用高阶函数、科里化函数● 正确的使用类型目标主要是为了弄清楚:● 使用函数式编程的意义是什么?● 为什么我要将函数作为参数传递?我定义一个接口,让他们来调用不就好了?我为什么要把函数作为一个值● Lambda看起来就是减少了写
分类: 移动开发 发布时间: 08-08 07:35 阅读次数: 0

Koltin 递归、尾递归和记忆化

文章目录1. 递归与尾递归1.1 尾递归(tail call)1.2 递归1.3 递归和尾递归的区别2. 尾递归消除2.1 尾调用消除学习秒表:了解 Kotlin 中的尾递归函数从 尾递归 了解 fold、foldRight、 reverse 等实现为什么用递归来代替for循环实现记忆化1. 递归与尾递归Kotlin 中很好的支持递归函数,使得递归可以被广泛使用, 但是稍微了解算法的人都知道, 递归函数一不小心就会爆栈,即随着递归次数的增加,内存不足以存储中间的计算步骤和中间结果,导致内存
分类: 移动开发 发布时间: 08-08 07:35 阅读次数: 0

Kotlin 用列表处理数据

文章目录1. Kotlin 有哪些可用的列表1.1 使用持久数据结构1.2 实现不可变的、持久的单链表1. Kotlin 有哪些可用的列表Kotlin 提供 可变、不可变列表。 在 Java 中也支持,但是得益于 Kotlin 的扩展函数特性, 列表拥有了大量增强性能的函数。可变列表像 Java 列表一样,可以通过添加、插入或者删除元素来改变列表, 这样一来,列表的早期版本将会丢失不可变列表又称只读列表,不能被修改的列表。 如果向其添加一个元素,则会创建一个添加了新元素的原始列表的副本。不可变
分类: 移动开发 发布时间: 08-08 07:35 阅读次数: 0

Kotlin 异常处理之 Option、Either、Result

文章目录1. 异常处理概述2. Option3. Either4. Result5. 小结1. 异常处理概述2. Option3. Either4. Result5. 小结
分类: 移动开发 发布时间: 08-08 07:35 阅读次数: 0

Kotlin Monad的学习

文章目录0. 前言1. 概述1.1 起源1.2 Monad 可以看成一种设计思想1.3 数学概念1.3 Monad 的模板代码2. arrow-kt 中的代码实例总结参考0. 前言在学习函数式编程时,函子(Funtor)、单子(Monad) 是非常难啃的骨头,它们来自于数学范畴论,又只在 Haskell 这种满是学术气息的语言上发展,本来阅读了几篇 Kotlin 上介绍该概念的文章,但是感觉吸收不够好,所以写这篇文章来学习和记录。此外,FP Kotlin 框架 arrow-kt 里面已经具象了这个概
分类: 移动开发 发布时间: 08-08 07:35 阅读次数: 0

Effective Kotlin 中文版

1. 这段时间做了什么前两个月,我买了一本 《Effective Java》 ,读了一半后发现,我现在使用的语言是 Kotlin,不是 Java!虽然它提供了很多有用的开发知识,但那都是基于 Java 的,我最终还是得将其“翻译” 到 Kotlin 语言上,属实难绷。于是,我就想:那有没有 《Effectvie Kotlin》 呢? 我搜了一下,发现确实有,但是它没有实体书,它甚至都没有中文版!如图我做了一个决定: 将其翻译成中文,并传播到社区,让更多的 Kotlin 中文社区开发者都能看到这本书!
分类: 移动开发 发布时间: 08-08 07:34 阅读次数: 0

10、 Flutter Widgets 之 DataTable表格数据

1.DataTable介绍数据表显示表格数据,需要设置行和列2.DataTable属性columns:DataColumn 行 sortColumnIndex:索引在行的位置 sortAscending = true:升序/降序 只有UI变化,排序需要自己实现 onSelectAll:全选回调,默认实现全选操作 dataRowHeight = kMinInteractiveDimension:数据内容每列高度 headingRowHeight = 56.0:头部每列高度 horizo
分类: 移动开发 发布时间: 08-08 07:34 阅读次数: 0

【前端实例代码】使用HTML CSS 和 JavaScript制作一个五星评价的功能!可动态好评+差评+留言功能!

【前端实例代码】使用HTML CSS 和 JavaScript制作一个五星评价的功能!可动态好评+差评+留言功能!
分类: 编程语言 发布时间: 08-08 07:34 阅读次数: 0