0

大量のJSONデータを返すWebサービスからデータをロードするテーブルがあります。クエリしているDBがかなりの量のデータを保持しているため、ユーザーが下にスクロールすると、より多くのデータをロードします。

私が持っている質問は、そのようなテーブルに右側のアルファベット順のリストを実装することは可能でしょうか、そしてこれをどのように行うことができますか?すべてのデータをロードしてからローカルで並べ替え、インデックスにデータを入力し、1回おきにデータをキャッシュすれば、間違いなく可能です。しかし、これが10K行以上のデータになるとしたらどうでしょうか。たぶん、アプリケーションの最初の起動時にこのデータをロードすることは1つのオプションです。

では、パフォーマンスと使いやすさの観点から、何ができるかについての推奨事項はありますか?

4

2 に答える 2

1

これらのインデックスを作成するためにすべてのデータをダウンロードする必要はないと思います。更新時間が短縮され、メモリの問題が発生する可能性があります。

しかし、インデックスが大きな違いを生むと思われる場合は、サーバー API にいくつかの機能を追加できます。のような別の API 呼び出しを追加しますget_indexes。または、このパラメーターが設定されている呼び出しにインデックスの配列を追加するPOSTパラメーターを追加します。get_indexes

また、ユーザーがデータをダウンロードせずにインデックスをタップした場合、またはユーザーがアプリにストレスを感じてインデックスを上下に高速スクロールした場合のケースを処理する準備ができている必要があります。

于 2012-10-22T23:34:31.827 に答える
1

まず、データのダウンロードのサイズを確認します。サーバーがデータを gzip できる場合、データは驚くほど小さい可能性があります。キーが重複しているため、JSON は非常にうまく圧縮されます。

大きすぎる場合は、可能であればサーバーを変更して、開始文字を指定できるようにすることをお勧めします。そうすれば、ユーザーがインデックスで「W」をヒットした場合、「W」​​で始まるすべてのアイテムをリクエストできるはずです。

また、サーバーから合計レコード数を取得すると、テーブル内の行数を前もって知ることができます。また、実際のデータがダウンするまで、不明な行ごとに「読み込み中...」文字列を返します。

于 2012-10-22T23:34:40.260 に答える