2013-01-04 19 views
0

我已經用rhomobile + jQuery Mobile開發了一個移動應用程序。rhomobile和jQuery mobile的應用程序很慢

當我將它部署在「android」手機上時,速度非常慢。

你能幫我找到原因嗎?

+0

你能更具體地說明什麼是「非常緩慢」的行爲?它是否轉換,向下滾動一長串列表,加載頁面?如果我們知道問題出在哪裏,它將幫助我們提出解決方案。 –

回答

0

您可以非常輕鬆地停用您的Rhodes應用程序中的轉換,試試看。 在您的應用程序羅德的應用程序文件夾中的文件layout.erb,你可以找到:

// Uncomment these options in case of performance problem in pages transition 
//$.mobile.defaultPageTransition = 'none'; 
//$.mobile.defaultDialogTransition = 'none'; 
//$.mobile.ajaxEnabled = false; 
//$.mobile.pushStateEnabled = false; 
//$.mobile.loadingMessageDelay = 50; // in ms 

就取消它,並給它一個嘗試。

0

無論使用什麼包裝(Rhomobile/Phonegap),jQuery mobile在Android設備上都會有非常差的表現(主要是2.X,但sam與4 +版本有關)。

在有這個問題的設備上(大部分是Android),沒有什麼可以做的。這是一個瀏覽器限制。 Android移動瀏覽器因惡劣的轉換而臭名昭着。

在iOS上,您必須注意一些問題。首先,由於Web瀏覽器缺乏即時編譯功能,所以Web瀏覽器比Javascript更慢。這不是Rhodes特定的。在Webview中,相同的Javascript運行速度會比在移動Safari本身中運行速度慢,並且沒有得到解決。

其次,iOS不會自動使用硬件加速進行轉換。您可以通過使用空3D轉換(如translateZ(0))來「提示」瀏覽器使用硬件加速。搜索關於此的更多信息。選擇合適的元素來實現這一點有點藝術性,因爲將它應用於大量元素可能代價高昂,並且通常沒有必要將其應用於整個元素。

但我最好的建議是不使用轉換,因爲它們在各種移動設備上處理不好。國際海事組織,無論如何,沒有任何轉變是非常出色的用戶體驗轉換主要用於讓用戶從慢速軟件中分散注意力,諷刺地引入更多延遲。