0

よし、Phonegap でラップされ、Android 2.2 で HTC Desire にコンパイルされた Sencha Touch フレームワークをテストしています。このアプリケーションの目的は、フレームワークとその機能に慣れることです。

MVC モデルを使用しています。アプリケーションは、プロキシを使用して json ファイルからデータ ストアに読み込まれるアイテムのリストで構成されます。これらの項目のいずれかをクリックすると、詳細ページが表示されます。

app.views.viewport.setActiveItem(app.views.placesList, options.animation);

ただし、移行前に何らかのラグがあり、白い画面がごく短時間表示されます。私はそれをより明確にするためにビデオを作りました:

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);
    }
});

経験したラグは、Sencha Touch に付随するものなのか、それともコードに起因するものなのか疑問に思っています。

前もって感謝します、

ジェラルド

4

2 に答える 2

0

以前の回答を明確にするには:

カードレイアウト内のパネルにのみスライドアニメーションを使用する場合(たとえば、Ext.TabPanelを介して)、次のCSS/SCSSコードを追加するだけで問題ありません。

.x-panel {
    -webkit-backface-visibility: hidden;
}

SenchaTouch1.0.1aとPhoneGap0.9.4を使用しています。

これに対するクレジットは、ここでの履歴投稿のためにSteffen Hillerに送られます:http ://www.senchatouchbits.com/6/fixing-flickering-of-animations-in-phonegap.html

于 2011-08-07T07:15:27.127 に答える
0

この回答は Steffen Hiller の功績によるものです:このバグは、Sencha Touch のスライド アニメーションが行う、CSS で不透明度を設定するすべてのトランジションで発生します。クレジットは、興味深いデバイスのパフォーマンスに関するヒントのページに移動します。"

于 2011-04-06T05:14:27.213 に答える