0

私はAndroidとiPhone用のSenchaTouch2アプリケーション開発に取り組んできました。私はモビリティの初心者ではありませんが、SenchaTouchとExtJSをまだ学んでいます。

私のアプリケーションには、各画面にListViewが表示された画面がいくつかあります。私のアプリケーションはSenchaMVCパターンに準拠しています。カードレイアウトを使用し、ビューポートに配置し、その上にさまざまなフォーム/コンポーネントを追加します。すべての画面でデータを利用できるようにするために、1つのAJAXリクエストが行われます。応答として、1000レコードのJSON応答を取得します。以下に示すサンプルのJson応答。

[{
    "key1": "Similarities between Operations and Projects",
    "value1": "Some Value"},
{
    "key2": "Differences between Operations and Project",
    "value2": "Some Value"},
.... {}, {}, {}

]

リストにすべてのコンテンツが表示されるように、JSONを解析してストアを更新する必要があります。私はそれを行う2つの方法を試しました

  1. ストアへのプロキシを直接使用
  2. ループを手動で適用し、保存するレコードを追加する

しかし、どちらの方法でも、アプリケーションは非常に低速です。

JavaScriptの場合、1000レコードが膨大になる可能性があることを理解しています。しかし、とにかくこれをもっとうまくやれるかどうかを理解したいと思います。

私はゴーグルをしてスタックオーバーフロー(下の貼り付けられたリンク)を検索しましたが、満足のいくものは何も見つかりませんでした。

PhoneGap1.4ラッピングSenchaTouch2.X-パフォーマンスはどうですか?

私の考え:現在、すべてのレコード/JSON応答オブジェクトはグローバルオブジェクトとして保存されています。SessionStoreまたはLocalStoreに保存することで削減できます。このステートメントは有効ですか?

とにかくそれを改善できるかどうかを理解するのを手伝ってください。

4

1 に答える 1

1

アプリケーションがいかに遅いかという複雑さに基づいて、これに答えるのはやや難しい。

読み込みが遅いですか?

ページングを実装することは確かにこれを助けます、私は1kレコードのjsonリターンが即座のものであると想像することはできません。

ページングは​​あなたの友達です。

ブラウザでの読み込み時間をプロファイリングし、何があなたを殺しているのか試してみてください。(これにより、通常、この領域で発生する問題の99%が修正されます)

遅れていますか?

再スコープすると速度が向上しますが、JSでスコープなどを実際に試してみると、最適化が行き過ぎてしまう傾向があります(ExtJsのAPIには、これに基づいた奇妙なビットが十分にあるため、これは敗戦だと思います)。

パフォーマンスに関するビデオを見に行くと、動的に作成されたコンポーネント、アクティブでないものを破棄するなどについてアドバイスを提供しますが、これは(少なくとも私にとっては)メモリ管理の問題です。

TL:DR:

個人的な経験では、私は40x10グリッドがセンチャタッチで遅れていましたが、1000x1グリッドはあなたをひどく停止させると思います。

サーバー側でこれを管理すれば、あなたの心配はなくなります:)

于 2012-08-24T17:00:59.137 に答える