提高 Visualforce 页面加载效率的小知识
一般原则
- 在设计页面时,我们要将页面的功能降至最少,不要包含多余的功能和数据,以最大化提高运行效率
- 如果需要开发的功能可以通过 Salesforce 的标准功能实现,那么尽量使用标准功能,比如 工作流(Workflow Rule)、审批流程(Approval Process)等
数据量的控制
Visualforce 页面的最大数据量是 15 MB,所以我们要让页面交互相关的数据尽可能的少。
控制交互的数据量可以通过以下几种方式实现:
- 尽可能的让 SOQL 查询更加精确,以此减少结果的大小,从而减少和页面交互的数据量
- 使用 StandardSetController 类自带的分页功能控制数据量
- 使用“延迟加载”(Lazy Loading)让页面的载入速度更快,比如使用 rerender 属性让某些部分根据具体情况单独加载,或者使用异步功能(JavaScript Remoting)防止函数的执行影响页面的载入
- 使用“自定义设置”(Custom Setting)来存储全局的数据。这些数据会缓存起来,在载入不同 Visualforce 页面时不需要重新查询加载
- 将在页面中显示的属性设置为只读(Readonly),那么可以显示多达一百万条数据
页面状态的控制
页面状态(View State)中保存了页面的状态。每个页面状态的最大值是 135 KB。和数据一样,页面状态越大,对运行速度的影响也越大。
要控制页面状态的大小,可以在 Apex 代码中使用 transient 关键字来定义对页面状态没有影响的变量。
与此同时,控制数据的方法也适用于控制页面状态,因为它们本质上都是尽量减少数据的变化和交互。
提高 Visualforce 页面加载效率的小知识的更多相关文章
- 前端开发,页面加载速度性能优化,如何提高web页面加载速度
一个网页访问速度的快慢, 不仅看它服务器的配置,这里除去你空间主机配置很烂的情况以外,我们从网站开发方面来探讨,前端技术需要从哪些方面提高访问的速度,需要用到哪些技术手段. 文件的加载 图标的加载: ...
- Web前端性能优化——如何提高页面加载速度
前言: 在同样的网络环境下,两个同样能满足你的需求的网站,一个"Duang"的一下就加载出来了,一个纠结了半天才出来,你会选择哪个?研究表明:用户最满意的打开网页时间是2-5秒, ...
- 【转】Web前端性能优化——如何提高页面加载速度
前言: 在同样的网络环境下,两个同样能满足你的需求的网站,一个“Duang”的一下就加载出来了,一个纠结了半天才出来,你会选择哪个?研究表明:用户最满意的打开网页时间是2-5秒,如果等待超过10秒, ...
- Web前端性能优化——提高页面加载速度
前言: 在同样的网络环境下,两个同样能满足你的需求的网站,一个“Duang”的一下就加载出来了,一个纠结了半天才出来,你会选择哪个?研究表明:用户最满意的打开网页时间是2-5秒,如果等待超过10秒, ...
- jQuery实现图片预加载提高页面加载速度和用户体验
我们在做网站的时候经常会遇到这样的问题:一个页面有大量的图片导致页面加载速度缓慢,经常会出现一个白页用户体验很不好.那么如何解决这个问题呢?首先我们会想到的是提高服务器性能,使用静态缓存等手段来加快图 ...
- Ionic进行PC端Web开发时通过脚本压缩提高第一次加载效率
1. 问题 1.1. 问题上下文描述: 基于Ionic进行PC端的Web应用开发: 使用Tomcat作为最终服务发布容器. 1.2. 问题描述: 编译后main.js的大小为4-6MByte.(集成第 ...
- jquery实现图片预加载提高页面加载速度
使用jquery实现图片预加载提高页面加载速度和用户体 我们在做网站的时候经常会遇到这样的问题:一个页面有大量的图片导致页面加载速度缓慢,经常会出现一个白页用户体验很不好.那么如何解决这个问题 呢?首 ...
- 【ASP.NET MVC】提高页面加载速度:脚本优化
在这里我们说一下脚本优化的三个方法: 一.在我们做Web开发的时候,当我们引用Js文件的时候,我们一般会将js文件放在文档的head标签中,这时当页面加载的时候,浏览器会按着由上到下的顺序,当浏览器遇 ...
- FaceBook页面加载技术
1. 技术背景 FaceBook页面加载技术 试想这样一个场景,一个经常访问的网站,每次打开它的页面都要要花费6 秒:同时另外一个网站提供了相似的服务,但响应时间只需3 秒,那么你会如何选择呢?数据表 ...
随机推荐
- netcore与ef资料收集
http://www.cnblogs.com/cgzl/p/7661805.html https://www.cnblogs.com/cgzl/p/7675485.html https://www.c ...
- SpringBoot第十五篇:swagger构建优雅文档
作者:追梦1819 原文:https://www.cnblogs.com/yanfei1819/p/11007470.html 版权声明:本文为博主原创文章,转载请附上博文链接! 引言 前面的十四 ...
- springmvc和mybatis面试题(含答案)
Spring MVC Framework有这样一些特点: 1.它是基于组件技术的.全部的应用对象,无论控制器和视图,还是业务对象之类的都是java组件.并且和Spring提供的其他基础结构紧密集成. ...
- Intellij Idea 自动更新资源和类
Run -> Edit Configurations 进入配置页 On update action:当发现更新时的操作 选择Update classes and resources On ...
- Scala Types 2
存在类型 形式: forSome { type ... } 或 forSome { val ... } 主要为了兼容 Java 的通配符 示例 Array[_] // 等价于 Array[T] for ...
- macrotask与microtask
在说明宏任务及微任务前总结一下事件循环机制(event loop): 首先判断JS是同步还是异步,同步就进入主线程,异步就进入event table 异步任务在event table中注册函数,当满足 ...
- php使用imagettftext()函数有干扰线但是没有文字的问题解决
public function code() { //主要参数 if($font_size == 0) $font_size = 20; if($img_width == 0) $img_width ...
- 输入www.baidu.com会发生什么
1. 浏览器接收域名 2. 发送域名给DNS,请求解析出www.baidu.com的IP地址 中文名字是域名系统服务器,一般位于ISP(互联网服务提供商,比如我们熟知的联通.移动.电信等) 中.浏览器 ...
- 用友U9执行JS代码。
UFSoft.UBF.UI.AtlasHelper.RegisterAtlasStartupScript(part.Page, part.Page.GetType(), "JavaScr ...
- TCP 协议 精解
http://www.cnblogs.com/sunev/archive/2012/06/23/2559389.html