我一直在构建移动应用程序,当我将应用程序移植到Android时,我遇到了一个主要的性能问题。其中一个主要问题是过渡“不是原生的”。我决定采用不同的方法来处理这样的问题:在本机包装器中的webView。
使用Ionic构建应用程序并使用导航栏,过渡和键盘的原生Android包装器是一个好习惯吗?令我困惑的一件事是Ionic带有Cordova集成,如果我有包装器,我真的不需要它。
答案 0 :(得分:1)
在离子框架官方文档中,您可以看到离子框架是对性能的痴迷。
速度很重要。非常重要的是你只注意到它不存在的时候。 Ionic可在最新的移动设备上运行并表现出色。使用最少的 DOM操作,零jQuery和硬件加速转换。
混合开发涉及将应用程序开发为在浏览器中运行的Web应用程序,然后将它们包装为在iOS和Android等移动操作系统上作为本机应用程序运行。此外,混合开发大大简化了应用程序生命周期的管理,Web应用程序的混合版本可以在Apple的App Store和Google Play商店中注册。如果您想要增强混合应用程序的性能和用户体验,则必须遵循一些最佳做法。
以下是一些效果提示:
1. Crosswalk :这是主要性能改进的主要工具(在Android 4.4<里面没有内置的Chromium浏览器)。如果使用离子cli安装crosswalk会导致错误和错误(几乎可以肯定),请下载Intel XDK,您可以非常轻松地使用Crosswalk从那里测试/调试/构建您的应用程序。
2.我目睹的另一件事导致一些主要的性能问题是背景图像和渐变,我仍然不确定整体的不透明度性能,但是当我取出这两个时,滚动和转换变得非常快。 使用基于硬件的css(translate3d)来移动DOM。
3.ionic运行android将制作一个APK,但做离子构建android好多了
5.使用ng-if代替ng-show,see difference
4.在你的gulpfile.js中修改JS和CSS,concat和strip debug。
5.尽可能使用离子的收集 - 重复,否则在ng-repeat中使用一次性结合
6.不要在视图中使用更多过滤器。而不是在代码中使用“$ filter”。 过滤器可能会对性能产生负面影响。尽可能使用指令。
7.尽可能减少DOM。它占用了太多的CPU负载。
8.即使在指令参数中,也要尽可能多地绑定'::'。
例如:传递给指令的值。我-指令::参数1
这意味着更少的观察者,这意味着更好的表现。
9.避免$ scope。$ apply(),因为这会处理所有事情。改为使用$ scope。$ digest(),它只会从调用它的范围进行处理。
10.将您的$$观察者保持在最低限度!
11.只打包你需要的东西。确保你在图书馆等方面包括最低限度。
12.避免使用JQuery及其插件。
一切顺利。