2016-03-03 53 views
0

我是Android世界的新手。 我正在开发中的应用程序面临性能问题。我有一个活动AutoCompleteTextView。我有adapter像下面初始化它的活动onCreate()AutoCompleteTextView初始化的优化

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line, keywords); 
    final AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextView); 
    textView.setAdapter(adapter); 

"keywords"String[]其中我从包含上onCreate()每次近3000项json文件中读取。与此同时,我获得了针对“关键字”的值,并添加到HashMap

因此,此活动的加载时间正在减慢。

通过什么手段,我可​​以减少:

  1. json文件只有一次
  2. 初始化adapter一次
  3. 因此,下一次以后我可以加载活动更快[我第一次可以显示一些“载入中...” 对话框]
+0

json文件在哪里?本地或在服务器上? –

+0

本地。它来自资产文件夹。 – Sadananda

回答

0

你可以尝试以下

  1. 在后台线程中解析json并放入一个加载栏。

  2. 一旦字符串被解析并显示出来,就可以将它们保存在一个实例(onSavedInstanceState)中。只要活动不被破坏,显示它们会更快。

  3. 将字符串保存到sharedpreferences或SQlite DB中(此选项取决于应用程序,就像显示的字符串一样)。