我有一个非常简单的活动,可以将自定义日期时间字符串打印到 textView。我在它自己的 MainActivity 中实现了一个可运行的接口,并在方法Thread的末尾创建了一个onCreate。
Thread thread = new Thread(this);
thread.run();
这是运行方法
public void run() {
        while (true) {
            try {
                Thread.sleep(1000);
                localTime.setText(LocalTime.getTime().format2445());
                System.out.println(LocalTime.getTime().format2445());
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    } 
当我在模拟器上运行它时,我可以在 logcat 中看到系统。但模拟器在大约 5 秒后显示 ANR。我究竟做错了什么。这种方法不合适吗?是异步任务是去这里的方式吗?我需要每秒更新一次时钟,所以让 AsyncTask 永远运行是一种可以接受的模式吗?