0

我正在使用带有 PhoneGap/Cordova 2.4.0 的 jQueryMobile 1.3.0 并试图弄清楚如何加快页面转换。在我的笔记本电脑上运行时,我已将页面转换减少到大约 50 毫秒,但是,当部署到 iPhone 4 时,页面转换显着减慢。

从页面 A 到页面 B 的场景转换。我注意到“页面 B - pagebeforecreate”事件和“页面 A - pageHide”事件之间大约有 500 毫秒。

这是我尝试过的:

  1. 我已经剥离了大部分代码。
  2. 已验证页面 A - pageRemove 事件未触发,因此无需时间。
  3. 将 css 中的动画持续时间从 350 毫秒减少到 30 毫秒。(这有帮助,但还不够)

    .slide.out,.slide.in {
        -webkit-animation-timing-function:ease-out;
        -webkit-animation-duration:30ms;
    }
    
  4. 使用 changePage 尝试了“a”标签和 div

    <a href="#pageB">Go</a>
    
    <div onclick="$.mobile.changePage('#pageB');">Go2</div>
    

任何人都对 jQueryMobile 在这两个需要时间的事件之间所做的事情有任何想法。我的下一步将是从 jquerymobile 代码内部开始记录,以缩小花费时间的范围。

我很感激任何帮助!

谢谢,汤姆

4

2 回答 2

2

jQuery Mobile 默认为点击事件添加了 300 毫秒的延迟——它正在监听诸如双击和滑动之类的事情。如果您不使用任何这些类型的事件,请考虑合并 FastClick http://forum.jquery.com/topic/how-to-remove-the-300ms-delay-when-clicking-on-a-link-in -jquery-mobile解决了我在 PhoneGap/jQueryMobile 应用程序中的速度问题。

于 2013-05-16T13:44:56.057 回答
0

禁用转换的最快方法

   <script type="text/javascript">
    $(document).on("mobileinit", function() {
                $.mobile.defaultPageTransition = $.mobile.defaultDialogTransition = "none";
            });
   </script>
于 2013-04-17T14:47:47.567 回答