这里推荐一个ionic大神的简书,里面有好多关于好多ionic的技术分享!

http://www.jianshu.com/u/c2e637a941ef

捣鼓了好久的ionic,终于在优化过程终于有所进展了,再此,分享一篇博客,记录下;

一、禁用ionic 自带的滚动效果

在app.js文件里面,全局配置:

$ionicConfigProvider.scrolling.jsScrolling(false); 这样一来,app页面就不会有ionic自带的滚动效果了,个人觉得有点难以控制,滚动惯性较大;而禁用掉之后,滚动效果就是手机的滚动效果了;

当然,如果不想全部禁用,那你可以通过分别在需要禁用的页面标签<ion-content>,加上overflow-scroll="true",这样也可以达到禁用的效果;

二、引入 Crosswalk WebView

在低版本android中,Crosswalk WebView提供了比原生WebView更好的性能;但是相应的会使app体积大20m左右,这就是其唯一的缺点,但是为了性能,这点问题当然不是问题啦;

安装插件:

cordova plugin add cordova-plugin-crosswalk-webview

如果使用版本 Crosswalk >1.3 时还需要在config.xml中做如下设置:

<preference name="CrosswalkAnimatable" value="true" />

OK,到此,你可以cordova build 的时候,就是生产armv7和x86的2个apk,安装在手机上用armv7的版本就好;(这点没去研究)

三、引入插件 ionic-native-transitions

这是我个人觉得对app体验最最重要的一步。这能使app的页面切换效果 “纵享丝滑”,告别ionic自带的页面切换卡顿效果!

插件安装:

cordova plugin add https://github.com/Telerik-Verified-Plugins/NativePageTransitions

接着,到github上下载并在项目 index.html 引入ionic-native-transitions.js ;

下载地址: https://github.com/shprink/ionic-native-transitions

下载后解压,然后引入

配置:

在app.js 添加依赖,如下:
angular.module('yourApp', ['ionic-native-transitions'
]);

同时,在app.js 下全局配置页面切换效果的默认值

.config(function($ionicNativeTransitionsProvider){$ionicNativeTransitionsProvider.setDefaultOptions({duration: 400, // in milliseconds (ms), default 400,slowdownfactor: 4, // overlap views (higher number is more) or no overlap (1), default 4iosdelay: -1, // ms to wait for the iOS webview to update before animation kicks in, default -1androiddelay: -1, // same as above but for Android, default -1winphonedelay: -1, // same as above but for Windows Phone, default -1,fixedPixelsTop: 0, // the number of pixels of your fixed header, default 0 (iOS and Android)fixedPixelsBottom: 0, // the number of pixels of your fixed footer (f.i. a tab bar), default 0 (iOS and Android)triggerTransitionEvent: '$ionicView.afterEnter', // internal ionic-native-transitions optionbackInOppositeDirection: false // Takes over default back transition and state back transition to use the opposite direction transition to go back
    });
});

这样就顺利完成了,再次build你的app,即可达到“纵享丝滑”的页面切换效果了,当然,这里还有更多的切换效果和更多的配置,详细请访问 https://github.com/shprink/ionic-native-transitions;

总结:

这篇博客是本人从0到1优化ionicApp遇到各种坑所总结出来的,在此记录下,特别是最后 ionic-native-transitions 这一个点,看官网文档照着做,就是实现不了,但是最后在国外论坛上找到了错误信息才做出来;希望对有需要的小伙伴有所帮助!


转载于:https://www.cnblogs.com/luleixia/p/6782022.html

ionic app 优化三件套,让其更贴近原生app相关推荐

  1. mui switch 实现方案 让你的html 设计更贴近原生

    这是一个系列,记录我前端开发常用的代码,小常识,有些是参考网上代码,(讲的可能有点烂,求不要打脸,嘤嘤嘤~~)送给那些需要的人.可以相互交流,喜欢的加我吧. Wx: Lxp911221 switch的 ...

  2. mPaaS:全新移动开发平台,只为打造性能更优越的App

    简介: 基于移动开发现状与技术演进预判,提供移动开发强力解决方案,洞察 mPaaS 如何帮助企业有效降低技术门槛,减少研发成本,搭建更稳定.更流畅的移动 App. mPaaS 是源自于支付宝的移动开发 ...

  3. 移动原生App开发和HTML 5开发,你更看好哪个?

    小程序的发布,让我们不得不思考,移动原生App开发和HTML 5开发,哪个更有优势? 在技术的发展上,HTML 5会取代App应用吗? 你更看好哪个? 经常会有人问"APP开发究竟是用原生的 ...

  4. App优化(六)网络优化

    引言 App优化(一)App启动速度优化 App优化(二)布局优化 App优化(三)ANR优化 App优化(四)内存优化 App优化(五)电量优化 App优化(六)网络优化 互联网时代, App作为于 ...

  5. h5做app和原生app有什么区别?

    H5开发的web APP和原生APP的区别有以下几个方面: 一.开发方面 原生App ⊙ 每一种移动操作系统都需要独立的开发项目 ⊙ 每种平台都需要独立的开发语言.Java(Android), Obj ...

  6. HTML5定稿了 为什么原生App世界将被颠覆

    原文:http://www.admin10000.com/document/5415.html 2007年W3C(万维网联盟)立项HTML5,直至2014年10月底,这个长达八年的规范终于正式封稿. ...

  7. HTML5定稿了,为什么原生App世界将被颠覆

    摘要:2014年10月底,HTML5规范正式定稿,结束了长达8年的长跑.数字天堂董事长,DCloud CEO王安梳理了HTML5诞生至今的演变过程,并从开发者和用户两个角度分析了HTML对两个人群的优 ...

  8. h5做的app和原生app的区别

    之所以说h5做的app和原生app的区别,是因为一位博友的问题: 随着 h5 的普及,是不是不再需要开发 app ? 我的回答是要分业务需求,分场合而定. 比如现在的微信小程序这么流行,甚至也取代了不 ...

  9. H5开发的web APP和原生APP的区别

    H5开发的web APP和原生APP的区别有以下几个方面:一.开发方面 原生App ⊙ 每一种移动操作系统都需要独立的开发项目⊙ 每种平台都需要独立的开发语言.Java(Android), Objec ...

最新文章

  1. github用相对路径显示图片_url-图像未显示在GitHub的README.md中
  2. Project 2007如何打开项目向导
  3. Color Pilot 5中文版
  4. vue子组件调用父组件内的方法
  5. Controller的传参问题
  6. linux充当防火墙,Linux下主机充当防火墙的巧妙应用之iptables
  7. 通用功能模块------滑动图片验证
  8. 【图像处理】canny和sobel边缘检测__python-opencv
  9. 百度ai—细粒度图像识别
  10. 使用vue中遇到的一些问题以及解决方案
  11. 解除同居关系时共同财产的分割
  12. steam服务器维护6月28,绝地求生6月28日更新到几点 吃鸡更新维护公告
  13. 【python】定义一个“曲调类”Note,value属性表示声音的高低 Note的三个子类分别表示高音、低音和中音定义一个“乐器类”Instrument具有play()方法
  14. jdk、openjdk、jre、jvm、jep、jar、jmod
  15. 想要从编程小白成为达人,这些你必须知道!(附STM32学习指南)
  16. 工业信息物理系统测试验证平台ETest_CPS
  17. SmallImage for Mac(图片压缩软件)
  18. 力控打磨抛光工具应用于各种条件表面抛光处理
  19. 查看网页加密密码超简单
  20. POJ - 3155 Hard Life(最大密度子图)

热门文章

  1. Could not load the btn_020.disable.png image referenced from a nib in the bundle with identifier ...
  2. windows2003配置
  3. Flutter RefreshIndicator 下拉刷新组件 Material 风格的刷新效果
  4. Java、JS、OC、Flutter的Base64编码和解码
  5. java基础—Runtime类使用
  6. python编程书籍资料整理大全
  7. Python 金融数据可视化(两列数据的提取//分别画//双坐标轴//双图//两种不同的图)...
  8. 回调机制在 Android 监听用户界面操作中的体现
  9. 夏季晨练不得早于6点 - 生活至上,美容至尚!
  10. JDBC之用元数据将结果集封装为List对象