Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 离子框架移动应用程序性能问题_Javascript_Android_Ios_Angularjs_Ionic Framework - Fatal编程技术网

Javascript 离子框架移动应用程序性能问题

Javascript 离子框架移动应用程序性能问题,javascript,android,ios,angularjs,ionic-framework,Javascript,Android,Ios,Angularjs,Ionic Framework,我们正在使用IONIC框架为我们的一个客户开发一个引人注目的移动应用程序。 我们几乎完成了这一阶段的开发。应用程序在运行时似乎运行良好 在Web/Mobile浏览器中打开。但是,当我们使用框架命令将其移植到移动应用程序中时 应用程序变得非常慢,并且经常卡住。这导致用户体验非常差 我正在使用命令“ionic run android”来创建APK。 你能帮我们解决这个问题吗?我们无法提交此问题的APK进行测试。 是否有任何配置可用于加速应用程序 此外,我在我的大多数页面中都添加了一个离子加载器。这种

我们正在使用IONIC框架为我们的一个客户开发一个引人注目的移动应用程序。 我们几乎完成了这一阶段的开发。应用程序在运行时似乎运行良好 在Web/Mobile浏览器中打开。但是,当我们使用框架命令将其移植到移动应用程序中时 应用程序变得非常慢,并且经常卡住。这导致用户体验非常差

我正在使用命令“ionic run android”来创建APK。 你能帮我们解决这个问题吗?我们无法提交此问题的APK进行测试。 是否有任何配置可用于加速应用程序

此外,我在我的大多数页面中都添加了一个离子加载器。这种行为非常不一致(有时只是出现)。
这也是造成用户体验不佳的原因。

您使用的是哪种离子加载器?我对可用的解决方案不满意,最终推出了自己的解决方案

您的目标版本是什么?您使用什么版本(物理设备)进行测试

以下是一些性能提示:

  • 如果目标<4.4且APK大小不是问题,则尝试捆绑人行横道运行时。使用ionic cli非常简单,您只需执行
    ionic浏览器添加人行横道即可。性能会更好,但APK大小会更大

  • ionic运行安卓
    将制作一个APK,但制作
    ionic构建安卓

  • gulpfile.JS
    中缩小JS和CSS、concat和条带调试。在模板上使用html2js,我的性能也略有提高

  • 注意
    ng重复
    。如果必须使用
    ng repeat
    ,请使用或,然后确保使用的是
    跟踪功能

  • 过滤器可能会对性能产生负面影响。尽可能使用指令

  • 推迟
    $q
    是你的朋友,可以帮助你产生速度错觉

  • 只要在可能的时候使用普通的DOM,并不是所有的东西都需要有角度

  • 尽可能使用一次性绑定<代码>{{::thing}设置一次值并将其持久化,这意味着更少的观察者,这意味着更好的性能

  • 避免使用
    $scope.$apply()
    ,因为这会处理所有事情。改为使用
    $scope.$digest()
    ,它将仅从调用它的作用域进行处理

  • 将您的
    $$watchers
    保持在绝对最小值

  • 只打包你需要的东西。确保在库等方面包含最低限度的内容

  • 不要使用jQuery(尽管这是显而易见的)


  • 祝你好运

    更新日期:2015年9月17日

    Cordova与Crosswalk的集成在这些天工作得非常完美,建议用于测试和构建Android应用程序


    丹恩的答案肯定非常详细,包含了很多很棒的技巧。我想对上述内容补充几点:

    • 人行横道。这是主要性能改进的主要工具(在Android 4.4中,它没有内置Chromium浏览器)。如果使用ionic cli安装crosswalk会导致错误和bug(几乎可以肯定),请下载Intel XDK,然后您可以使用crosswalk非常轻松地从那里测试/调试/构建应用程序
    • 我还看到了另一件导致一些主要性能问题的事情,那就是背景图像和渐变,我仍然不确定整体的不透明度性能,但是当我去掉这两个后,滚动和过渡速度变得非常快
    • 使用基于硬件的css(translate3d)在DOM中移动内容

    混合应用程序仍然不是我们希望的那样,但希望它迟早会朝正确的方向发展。

    向服务器发出请求是否需要时间或其他任何东西?一些提高Ionic应用程序性能的有用提示检查您是否可以接受答案?一些有助于提高Ionic应用程序性能的建议