【keep-alive原理】
keep-alive原理
它提供了include与exclude两个属性,允许组件有条件地进行缓存。
作用: 在组件切换过程中将状态保留在内存中,防止重复渲染DOM,减少加载时间及性能消耗,提高用户体验性。
它有两个生命周期:
activated: keep-alive组件激活时调用
deactivated: keep-alive组件停用时调用
1、首先获取组件的key
值
2、拿到key
值后去this.cache
对象中去寻找是否有该值,如果有则表示该组件有缓存,即命中缓存
3、直接从缓存中拿 vnode
的组件实例,此时重新调整该组件key
的顺序,将其从原来的地方删掉并重新放在this.keys
中最后一个
this.cache
对象中没有该key
值的情况:
1、表明该组件还没有被缓存过,则以该组件的key
为键,组件vnode
为值,将其存入this.cache
中,并且把key
存入this.keys
中
2、此时再判断this.keys
中缓存组件的数量是否超过了设置的最大缓存数量值this.max
,如果超过了,则把第一个缓存组件删掉
【keep-alive原理】相关推荐
- Rocksdb 写流程,读流程,WAL文件,MANIFEST文件,ColumnFamily,Memtable,SST文件原理详解
文章目录 前言 Rocksdb写流程图 WAL 原理分析 概述 文件格式 查看WAL的工具 创建WAL 清理WAL MANIFEST原理分析 概述 查看MANIFEST的工具 创建 及 清除 MANI ...
- libev源码解析——定时器原理
本文将回答<libev源码解析--I/O模型>中抛出的两个问题.(转载请指明出于breaksoftware的csdn博客) 对于问题1:为什么backend_poll函数需要指定超时?我们 ...
- 内存泄漏的定位与排查:Heap Profiling 原理解析
系统长时间运行之后,可用内存越来越少,甚至导致了某些服务失败,这就是典型的内存泄漏问题.这类问题通常难以预测,也很难通过静态代码梳理的方式定位.Heap Profiling 就是帮助我们解决此类问题的 ...
- python web框架autoreload原理(以bottle为例)
2019独角兽企业重金招聘Python工程师标准>>> 这两天在看bottle的时候,发现它也有代码auto reload的功能,就到它的源码中看了一下. 当设置reloader=T ...
- Spark源码阅读02-Spark核心原理之调度算法
Spark核心原理之调度算法 Spark核心原理之调度算法 应用程序之间 作业及调度阶段之间 1.创建调度池 2.调度池加入调度内容 3.提供已排序的任务集管理器 任务之间 1.数据本地性 2.延迟执 ...
- Elasticsearch分布式一致性原理剖析(一)-节点篇
2019独角兽企业重金招聘Python工程师标准>>> 摘要: ES目前是最流行的开源分布式搜索引擎系统,其使用Lucene作为单机存储引擎并提供强大的搜索查询能力.学习其搜索原理, ...
- Android10.0 BroadcastCast广播机制原理
原文地址:https://skytoby.github.io/2019/BroadcastCast%E5%B9%BF%E6%92%AD%E6%9C%BA%E5%88%B6%E5%8E%9F%E7%90 ...
- SSH原理之图文详解
一.Telnet和SSH 1.Telnet Telnet是一个远程连接服务是一个C/S架构,具有Server端和Client端,Client通过telnet协议连接到服务器端,这是早期常 ...
- 超高性能管线式HTTP请求(实践·原理·实现)
这里的高性能指的就是网卡有多快请求发送就能有多快,基本上一般的服务器在一台客户端的压力下就会出现明显延时. 该篇实际是介绍pipe管线的原理,下面主要通过其高性能的测试实践,解析背后数据流量及原理.最 ...
- Spark详解(四):Spark组件以及消息通信原理
1. Spark核心基本概念 Application(应用程序):指用户编写的Spark应用程序,包含驱动程序(Driver)和分布在集群中多个节点之上的Executor代码,在执行过程中由一个或多个 ...
最新文章
- AI 时代,还不了解大数据?
- Kettle性能调优汇总
- 不同存储区域的数组分析
- 一篇博客读懂设计模式之---委派模式
- 搭建简易留言板过程中遇到的问题
- 网线重新插拔后恢复正常_14日科技精选:路由器经常掉线,必须重新插拔网线才能上网。什么原因?...
- 禁止吸烟(字符串替换)
- bash 将二进制转换为十进制_6、计算机进制之二进制、十进制、十六进制之间的转换...
- 获取虚拟机的唯一标识_JVM笔记:Java虚拟机的类加载机制(附详细思维导图)...
- (day 43 - 二分查找 ) 剑指 Offer 53 - II. 0~n-1中缺失的数字
- 冰点还原6.61 For Win2003 打造全过程
- 手机APP如何访问局域网服务器
- 软件测试工程师是什么?
- 安装 SuMa (Surfel-based Mapping using 3D Laser Range Data)遇到的问题
- 航空枢纽问题 matlab,[原创]航空领域常用几个速度的定义和说明
- hduoj 2034
- unity3d 气泡效果_Unity3D插件 Underwater FX 水下粒子系统特效/水泡气泡/资源素材
- 网络要上天! 雄心勃勃的天空网络计划
- 2018年软件评测师上午真题 + 答案(一)
- 北大计算机博士有多难考,中国最难考的一所大学,博士生超过2万,是清华北大之和...