1

ウェブサイト用のAndroidアプリケーションを開発しています。約100000のユーザーが多数います。カスタムユーザー検索のために、これらのユーザーをArraylistにフェッチする必要があります。これだけの量のデータをArraylistに保存することをお勧めします(特にAndroidの場合)。そうでない場合は、Sqliteデータベースを使用することを計画していますか?

4

3 に答える 3

4

どのタイプのリストも使用したくありません。

データベースは、大量のデータを保存および検索するように最適化されています。これらのユーザー名を ArrayList に保存する場合は、効率的に検索する必要があります。

そもそも、これはまずい考えのように思えます。1lakh+ のすべてのユーザー名のローカル コピーが必要な理由は何ですか? これは帯域幅のひどい浪費です! アプリケーションが検索しているユーザー名をデータベースに照会できるとよいでしょう。その後、クライアントにのみ結果を保存できます。

ex: SELECT * FROM `user` WHERE `name` LIKE "david" 

クエリの結果のみを保存します。すべてのユーザーではありません。

于 2012-04-25T04:37:51.980 に答える
1

データクラスを作成し、シリアル化可能にしてファイルストレージを使用します。データベースの使用でデータの取得と配置が別のタスクである場合は、ファイルオブジェクトの保存がデータ処理に適しているためです。

于 2012-04-25T04:22:35.930 に答える
1

コンテンツを ArrayList に格納するのは得策ではないようです。データまたはアプリケーションによっては、'OutOfMemory' エラーが発生する場合があります。情報を SQLite データベースまたはファイルに永続化してみてください。

一方、10万のユーザーデータを一括ダウンロードして、デバイスで検索するためにローカルに保存する必要はありません. 検索を実行して検索結果のみを返すサービスを作成できます。これが可能であれば、それを ArrayList に格納することは悪くありません。arraylist のサイズが DVM で許容されるサイズを超える場合は、onLowMemory コールバックをオーバーライドして、リストの内容を空にすることができます。このようにして、アプリが強制終了されるのを防ぐことができます

于 2012-04-25T04:36:09.617 に答える