[英]Root cause of flickering problems of web-based mobile apps?
我只是基於jqTouch和Zepto創建一個簡單的Apache Cordova應用程序。
該應用程序有3個頁面 ,一個包含4個控件的一種形式 ,其他頁面包含3個導航元素和幾行文本 。
使用jqTouch的 apple
和jqtouch
主題,該應用程序顯示了大量的閃爍 。 在頁面轉換期間,屏幕的某些部分呈現黑色。
jqTouch的innsbruck
主題有點閃爍 ,但仍然沒有准備好生產。
test-app 不使用附加javaScript 。 所有導航都使用#pageName鏈接完成 。 因此,用戶提供的JavaScript可能沒問題。
有趣的是:如果我使用內置的移動瀏覽器打開jqTouch演示 ,這些演示的閃爍要少得多 。
由於應用程序非常簡單 - 它甚至不使用其他樣式或圖像 - 我想知道這些渲染問題的根本原因是什么。
使用此環境進行測試:
Appcelerator Titanium - 差勁
另外,我嘗試使用rss示例試用Appcelerator Titanium 。 使用測試設備,性能也很差。
Appcelerator聲稱編譯為本機。 但由於性能不佳,我猜他們也會編譯到WebViews。
他們呢? 或者Appcelerator Titanium是否將視圖和控制器編譯為純JavaCode?
接下來試試
接下來,我將嘗試給Xamarin 。
首先,本機瀏覽器將比您的Cordova應用程序更高效。
Cordova使用webview,功能較弱。
除此之外,您所看到的閃爍問題可以通過在GPU上渲染元素來解決。
通過CSS您可以指定:
transform-style: preserve-3d;
要么
transform: translate3d(0,0,0);
使用所需的供應商前綴。
這將強制您的元素由GPU呈現。 並將解決您的閃爍問題,但您必須針對您的錯誤元素。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.