ionic——性能优化【界面缓存清理】
前篇文章讲述过性能优化,主要是滚动条、一次性绑定、数组对象过滤。
这篇文章讲一下,关于界面的问题,之前有一篇文章关于描述过界面缓存的文章,有三种方法:全局配置、路由配置、界面配置。详情可自行查看http://www.cnblogs.com/happen-/p/5985434.html
在后期优化的过程中发现,通过url传参的时候,路由相同,但是参数不同,界面会产生缓存的,对程序的运行不利,平白的消耗手机内存,代码结构如下:
如上如,标红的两个其实是一样的路由,是同一个界面,我的这两个界面都是动态上拉加载数据的列表,可能数据会很多,缓存的个数越多,手机运行可能会越慢。
后来在网上找了很多方法,下边对我找的方法一一描述,并加上一些我自己的观点,可能不正确,请大家指正:
1.在跳转之前加清除缓存
代码:
var _goback = function() {// debugger; $ionicHistory.clearCache();$state.go('app.search.index'); };
效果如下:
代码看着好像生效了,但是他会把一些其他的缓存界面都删除掉,但是当前路由树的跟路由节点缓存是不会删除的,方法可行,但是删除所有的可能会造成其他方面的问题,这个暂时不知道怎么解决。
参考文档:http://www.tuicool.com/articles/7Bz6R3J
引申:有些app需要做清除内存的功能,之前没有思路,根据这个倒是可以实现,方法如下:
$ionicHistory.clearCache(); $ionicHistory.clearHistory();
2.清除指定界面的缓存【我本地实验没有效果】
$ionicHistory.clearCache([$state.current.name])
参考地址
http://stackoverflow.com/questions/25192172/clear-history-and-reload-page-on-login-logout-using-ionic-framework?answertab=active#tab-top
3.从$ionic histroy中删除
参考地址https://github.com/driftyco/ionic/issues/3750
4.手动删除DOM
手动查找需要删除的对象,可以根据<ion-view>的state属性区分,这个方法可以实现删除,但是不知道有什么副作用
转载于:https://www.cnblogs.com/happen-/p/6377477.html
ionic——性能优化【界面缓存清理】相关推荐
- Android性能优化——界面流畅度优化
Android性能优化--界面流畅度优化 序言 首先流畅度不仅仅是受到代码的影响.也会跟机器的硬件配置有关系.所以第一点需要明确的是,流畅度最低保证在哪个硬件配置之上.这样有了一个基点之后,才能比较好 ...
- 精读《手写 SQL 编译器 - 性能优化之缓存》
1 引言 重回 "手写 SQL 编辑器" 系列.这次介绍如何利用缓存优化编译器执行性能. 可以利用 Frist 集 与 Match 节点缓存 这两种方式优化. 本文会用到一些图做解 ...
- 前端性能优化之缓存技术
缓存一直以来都是用来提高性能的一项必不可少的技术 , 利用这项技术可以很好地提高web的性能. 缓存可以很有效地降低网络的时延,同时也会减少大量请求对于服务器的压力. 接下来这篇文章将会详细地介绍在w ...
- Redis缓存设计(key、value设计)与性能优化(缓存击穿、缓存穿透、缓存雪崩)
一.多级缓存架构 二.缓存设计 1.缓存穿透 缓存穿透是指查询一个根本不存在的数据, 缓存层和存储层都不会命中, 通常出于容错的考虑, 如果从存储层查不到数据则不写入缓存层. 缓存穿透将导致不存在的数 ...
- 聊天室软件源码前端性能优化,缓存角度的相关分析
在我们考虑提高聊天室软件源码页面渲染速度之前先来思考一个问题,一个页面的速度由什么决定?显而易见,这里主要包含两方面的影响因素. 1.资源传输时间(tcp链接时间和响应时间) 2.dom渲染时间 这两 ...
- 前端性能优化 - 设置缓存
前言 前端性能优化系列,记录在优化过程中的问题,可能有十万个为什么,待以后懂了再记录,毕竟太菜啥都不懂. 而且部分优化(设置缓存.gzip压缩.使用CDN加速服务)非开发人员来控制,而是网站服务器管理 ...
- 使用缓存实现前端性能优化——浏览器缓存机制、缓存分类
前端性能优化探讨及浏览器缓存机制 一.缓存如何实现前端性能优化 1.什么是浏览器缓存 2.js请求,一般会有哪些地方有缓存处理? 3.静态资源 ① 什么是静态资源 ② 静态资源的缓存策略 二.缓存的类 ...
- iOS开发UI篇—UITableviewcell的性能优化和缓存机制
iOS开发UI篇-UITableviewcell的性能问题 一.UITableviewcell的一些介绍 UITableView的每一行都是一个UITableViewCell,通过dataSource ...
- nginx 开启gzip 配置js_前端性能优化之缓存与GZIP
最近疫情,着实无聊.简单总结点东西,打发时间. 这篇文章主要记录如何在tomcat或nginx中配置前端静态资源的缓存策略,力求简洁明了,不参杂其他无关配置项. 压缩 对于HTTP的压缩,是一种使用C ...
- 【Hibernate】性能优化之缓存管理
1.缓存概述 缓存(cache)在java应用程序中是一组内存中的集合示例,它保存着永久性存储源(如硬盘上的文件或数据库)中数据的备份,它的读写速度比读写硬盘的速度快.应用程序在运行时直接读写缓存中的 ...
最新文章
- c#万能视频播放器 (转)
- int *ptr=(int *)(a+1)
- linux window nginx性能,Nginx负载均衡搭建(Window与Linux)
- css 实现div阴影,上下移动
- php的addslashes,PHP addslashes()用法及代码示例
- pwm控制舵机转动角度程序_Mixly 第15课 舵机的使用
- 设计模式常见面试题汇总
- 创业公司,没有好领导,有多少人才都是死路一条
- linux weblogic修改内存,在linux运行weblogic出现运行内存不足错误,求鞭挞....
- vue获取编辑器纯文字_前端富文本编辑器 vue-html5-editor
- 产品总监的日常:管好团队必须先“正三观”
- 虚拟机网络驱动(共享文件夹)不见了的解决方案-适用于win7~win10 and Windows Server 2008~Windows Server 2012R2
- 用于Power BI Desktop中的库存数据分析的烛台图
- redhat as4 上安装 MySQL5
- C# 客服端上传文件与服务器器端接收 (简单代码)
- bootstrap-引用-命名来源
- android布局及其常用属性
- coreldraw怎么打印荣誉证书_使用Word 2010制作并打印荣誉证书的方法
- 全链路压测实施思路流程分析
- 【Direct3D】纹理过滤
热门文章
- 在服务器上log4net没写日志
- IronPython系列:利用.NET SoapFormatter学习SOAP序列化
- [小技巧]为Atlas AutoComplete加上滚动条
- iOS 常见的JS与iOS交互的需求与解决方案
- 男女洗澡前后区别,太形象了!(文末送书)
- LinkedList 真的是查找慢增删快?刷新你的认知!
- SpringBoot 一个依赖搞定 session 共享,没有比这更简单的方案了!
- WePhone开发者被逼自杀案续,在翟欣欣身上的各种消费清单明细及细节曝光
- 三千万海外用户的天才程序员之死
- Spring MVC 中集成 Apache Shiro 安全框架