好吧,我正在測試包裹在Phonegap中的Sencha Touch框架並將其編譯爲Android 2.2的HTC Desire。這個應用程序的目的只是爲了熟悉框架及其功能。Sencha Touch - 在屏幕轉換的延遲
我正在使用MVC模型。該應用程序由使用代理從json文件加載到數據存儲中的項目列表組成。點擊其中一個項目時,會顯示詳細信息頁面。
app.views.viewport.setActiveItem(app.views.placesList, options.animation);
但在轉換之前,會出現某種滯後現象,並且會在很短的時間內顯示白色屏幕。我做了一個VID,以使其更清晰:
http://www.youtube.com/watch?v=uW8hspMKqfc
下面的代碼顯示我的應用程序的結構和功能:
型號
app.models.Place = Ext.regModel("app.models.Place", {
fields: [
{name: "name", type: "string"},
{name: "location", type: "string"}
]
});
app.stores.places = new Ext.data.Store({
model: "app.models.Place",
proxy: {
type: 'ajax',
url : 'js/app/data/products.json',
reader: {
type: 'json',
root: 'products'
}
}
});
查看
app.views.PlacesList = Ext.extend(Ext.Panel, {
fullscreen: true,
scroll: 'vertical',
dockedItems: [{
xtype: 'toolbar',
title: 'PlacesList'
}],
items: [{
xtype: 'list',
store: app.stores.places,
itemTpl: '{name}',
onItemDisclosure: function() {
Ext.dispatch({
controller: app.controllers.places,
action: 'show'
});
}
}],
initComponent: function() {
app.stores.places.load();
app.views.PlacesList.superclass.initComponent.apply(this, arguments);
}
});
控制器
app.controllers.places = new Ext.Controller({
show: function(options) {
app.views.viewport.setActiveItem(app.views.placeDetail, options.animation);
},
back: function(options) {
app.views.viewport.setActiveItem(app.views.placesList, options.animation);
}
});
我不知道是否有經驗的滯後只是一些帶有煎茶觸摸,或來自代碼。
由於提前,
傑拉德
固定。從http://www.senchatouchbits.com/6/fixing-flickering-of-animations-in-phonegap.html:「這個問題出現在所有設置CSS不透明度的轉換中,Sencha Touch中的滑動動畫。積分轉到有趣的設備頁面性能提示。「在該網站上找到修復程序。 – Gerard 2011-04-04 12:13:49