Я пытался использовать темы для повышения производительности в своем приложении для Android.В методе onCreate
я запустил два потока:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.play);
...
new Thread(new Runnable() {
public void run() {
makeList();
}
}).start();
new Thread(new Runnable() {
public void run() {
setChronometer();
}
}).start();
}
. В этих методах я изменяю некоторые настройки моих просмотров.(без тяжелых событий)
Первый хронометр:
private void setChronometer(){
time.post(new Runnable() {
public void run() {
time.setFormat("Time: %s");
time.setBase(SystemClock.elapsedRealtime());
time.start();
}
});
}
Второй a ListView
:
private void makeList(){
...
final ArrayAdapter<String> listAdapter = new ArrayAdapter<String>(...);
list.post(new Runnable() {
public void run() {
list.setAdapter(listAdapter);
list.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
....
}
});
}
Chronometer
работает нормально, но операции вmakeList()
не было сделано ... поэтому мой ListView не работает!
У меня была идея, что когда начинается действие, определение listView и Chronometer менее важно, поэтому я откладываю их в потоках,с целью, чтобы действие начиналось быстрее (более эффективно)
Прежде всего, было ли это хорошей идеей?
Во-вторых, почему мой ListView не работает?Когда я удаляю list.post(new Runnable() {
, это работает, но я подумал, что это не очень хороший способ для Android.Потому что теперь представления напрямую изменены из потока.
В-третьих, когда я должен использовать потоки vs.View.post
?
Любая помощь будет отличной, Спасибо!
Приветствия FireDragon