android之timer和timertask是否运行在主线程中解答

来源:互联网 发布:软件外包介绍网站 编辑:程序博客网 时间:2024/06/07 06:59

知识点:

1、timer和timertask是否运行在主线程中?答案是否定的。


下面是在UI线程打印的UI线程ID

<span style="font-size:14px;">                            System.out.println("-=-=-=>>ui...xianchengid00000 = " + Thread.currentThread().getId());</span>

下面是在timertask的run方法打印的线程ID

<span style="font-size:14px;">Timer timer = new Timer();                            TimerTask timerTask = new TimerTask() {                                @Override                                public void run() {                                    ImageUtil.deleteImageFromSDCard(imgPath);                                    System.out.println("-=-=-=>>TimerTask...xianchengid1111 = " + Thread.currentThread().getId());                                }                            };                            timer.schedule(timerTask, 5000);</span>

打印输出如下日志

<span style="font-size:14px;">07-09 11:02:14.001 27674-27674/com.spd.sinoss I/System.out: -=-=-=>>ui...xianchengid00000 = 107-09 11:02:19.003 27674-28350/com.spd.sinoss I/System.out: -=-=-=>>TimerTask...xianchengid1111 = 2787</span>
可以看到,它们的ID是不同的,所以timertask不是运行在UI主线程中的。



0 0
原创粉丝点击