我开发了一个应用程序,在Android模拟器屏幕上以指定的间隔显示一些文本。我正在使用Handler类。下面是我的代码片段:
handler = new Handler();
Runnable r = new Runnable() {
public void run() {
tv.append("Hello World");
}
};
handler.postDelayed(r, 1000);
当我运行这个应用程序时,文本只显示一次。为什么?
我认为可以改进Alex2k8的第一个解决方案,以提高每秒更新的正确性
1.原始代码:
public void run() {
tv.append("Hello World");
handler.postDelayed(this, 1000);
}
2.分析
在以上成本中,承担tv。append("Hello Word")花费T毫秒,显示500次后延迟时间为500*T毫秒
长时间运行会增加延时
3.解决方案
只需改变postDelayed()的顺序,以避免延迟:
public void run() {
handler.postDelayed(this, 1000);
tv.append("Hello World");
}