簡體   English   中英

phonegap / cordova應用程序比PhoneGap Desktop慢

[英]phonegap/cordova app is slower compare to PhoneGap Desktop

最近,我剛剛開始使用phonegap / cordova來構建我的應用程序。 最初,我下載了Phonegap Desktop,並在開發階段對Phonegap Desktop進行了測試。 它功能強大且靈活,可用於測試。

當我要完成應用程序時,我會使用cordova CLI來構建應用程序,然后在實際設備上安裝apk文件。 我發現通過使用相同的編碼和設備 ,該應用程序的速度明顯比Phonegap Desktop慢,尤其是在對jQuery animate和toggle modal active進行調試時:

// Simple code for toggle dialog modal to active
$("#modal-launcher, #modal-background, #modal-close").click(function () {
        $("#modal-content").css('top', Math.round( $(document).height() - ($("body").innerHeight() / 1.65 ))+'px');
        $("#modal-content,#modal-background").toggleClass("active");
    });



//Simple code for animate list item 
$( '.Class' ).animate({ right:'0px' }, 250);

剛打開應用程序時的速度相同。 在執行一些觸發事件的操作后,我發現性能正在下降。 例如,我需要等待幾秒鍾以使對話框提示,並且動畫照常變慢。 如果我重新啟動應用程序,性能將再次恢復正常,直到我重復相同的過程。

性能下降不僅是幾毫秒,而且延遲高達4-6秒是一個非常顯着的差異。 如果我使用相同的編碼和設備切換到Phonegap Desktop,則不會發生這種情況。 這使我不知道發生了什么,因為我認為它們共享相同的框架。

我也嘗試通過使用phonegap build androidionic build android來構建應用程序,但是我也得到了相同的結果。 有沒有人有類似的經驗並且對此問題有任何解決方案?

設備的速度和Webview的版本很重要。 在台式機上,您擁有強大的功能,可以在那里邁出第一步,但隨后切換到速​​度較慢的設備進行測試,並使用較早的android版本測試該應用。 原因不是兼容性,原因是較舊的android較慢。

如果應用在較慢的設備上運行良好,那么它將在新設備上正常運行。

Cordova本身和javascript都非常快。 當人們開始使用cordova開發並使用jQuery / jQuerymobile時,會犯一些錯誤:

  1. 用干凈的結構編寫干凈的HTML,並嘗試簡化dom。

  2. 不要一遍又一遍地用jquery查詢dom。 如果多次使用選擇器,則將其放在變量中:

 var $selector = $("#myselector); if ($selector.height() > 100){ // do something } 

  1. 串聯jQuery操作:

  $("#myselector).css("active").text("my new text"); 

  1. 使用find(),next(),parent(),…。 如果您需要對多個元素進行多項操作,而這些元素在dom中並不遙不可及,則可以使用find(),next(),parent(),…比查詢整個dom快得多。

  2. 不要將jQuery用於所有內容。 jQuery很棒,但是可以使用簡單的javascript進行很多操作。

  3. 不要將jQuery插件用於使用javascript可以輕松完成的事情。

  4. 制作一個單頁面html應用,並避免使用多個html頁面。 這是減慢應用程序速度並使開發復雜化的最佳方法。

  5. 使用自定義jQuery下載,不要包含不需要的內容。

  6. 使用點擊而不是點擊。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM