当我使用Handler更新UI

时间:2016-05-12 03:49:45

标签: android handler

我有一个小项目来测试更新UI和OnItemClickListener。

当我更新ui时。 OnItemClickListener有时不会触发。 如果我更频繁地更新ui,OnItemClickListener会丢失更多次。

mHadler = new Handler();
mHanler.postDelayed(this, 33); // update 33 times per second.
// mHandler.postDelayed(this, 1000); // update 1 times per second.
                                     // never lose onItemClick event.

my Runable

@Override
public void run() {
    mText.setText("100");
    mImage.setImageResource(R.drawable.some_icon);
    mList.notifyDataSetChanged();
    mList2.notifyDataSetChanged();
    ....
}

我的OnItemClickListener

mList.setOnItemClickListener(this);

@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
            long id) {
    // do something...
    // not trigger sometimes.
}

1 个答案:

答案 0 :(得分:0)

您需要了解MainThread上运行的代码(也就是Android中的UI线程)。每秒更新GUI 33次会产生严重的内存影响。

研究: