0

Androidでアプリを作成していますが、文字列データが大量にあり、10,000以上の単語(項目)があり、リストビューで表示したいと考えています。私の質問は、(ソース)データをどこに置くべきかです

  1. Xml ファイルの文字列配列
  2. DB内(次に、外部DBを配置する必要があります)
  3. 単純なテキスト ファイル、CSV などからのデータの読み取り

ここで私の唯一の関心事は速度です。どちらの方法が速いのか、その理由は.

注:現在、Xml にデータを文字列配列として配置し、それをアクティビティで配列に取得していますが、xml からデータをロードするのに数秒/瞬間かかるのは遅いですが、初めてです。

4

1 に答える 1

2

コードを実行して、AsyncTask でコンテンツ フォーム json/db を解析/ロードすると、速度が向上します。行あたり〜400文字で5000行をロードします。AsyncTask がないと、はるかに時間がかかります。

    private class YourTask extends AsyncTask<String, Void, String> {
        @Override
        protected String doInBackground(String... s) {

            //Here you have to make the loading / parsing tasks
            //Don't call any UI actions here. For example a Toast.show() this will couse Exceptions
            // UI stuff you have to make in onPostExecute method

        }

        @Override
        protected void onPreExecute() {
            // This method will called during doInBackground is in process
            // Here you can for example show a ProgressDialog
        }

        @Override
        protected void onPostExecute(Long result) {
            // onPostExecute is called when doInBackground finished
            // Here you can for example fill your Listview with the content loaded in doInBackground method

        }

}

実行するには、次のように呼び出すだけです。

new YourTask().execute("");

AsyncTasks の詳細については、次を参照してください。

AsyncTask 開発者ガイド

于 2012-11-23T13:17:51.427 に答える