通过在线程中的run()方法中的改造增加UI的执行流畅度

先上一张完成后的代码图:

 

在线程中执行逻辑时,因为逻辑运行的时间长度不一样,而且每次逻辑运行完都会有一次休眠的时间(如图:sleep()方法),如果不进行处理,虽然不会影响程序的执行,但是会造成不连续的感觉,看起来不流畅。

首先通过以下代码获取逻辑执行前后的时间差:

workTime = System.currentTimeMillis();
MyLoji();//逻辑方法
postInvalidate();//刷新线程
workTime = System.currentTimeMillis() - workTime;

之后进行睡眠时间和逻辑执行时间差的处理:
if (workTime < sleepTime) {
sleep(sleepTime - workTime);
}


原理图还没做好,之后更新








posted @ 2017-10-25 11:08  西红柿里没有番茄  阅读(254)  评论(0编辑  收藏  举报