已采纳回答 / LayTao
我觉得有必要,因为视频刚开始也说了要实现用户操作UI控件必须充分流畅。再说启动新的轮询线程可以更好的控制线程的先后执行和对任务执行数量的控制。代码我就不附了,线程这块我也就略知皮毛,评论不喜勿喷!!!
2016-10-19
最新回答 / JackyHL
mThreadPool.execute(getTask());是一个比较耗时的操作。我测试了一下,最多需要3毫秒,当你滚动屏幕的时候,如果恰好在做这个操作,那会有卡顿的。如果不开启新线程去初始化mPoolThreadHander,就相当于你在UI线程做 mThreadPool.execute(getTask());为了不卡顿,所以把这个有些耗时的操作放在了一个新线程中。使用mPoolThreadHander是希望子线程可以有Handler机制,其实使用while(true) 也是一样的。
2016-09-18