我觉得在ACTION_UP的时候去调用一下就好了。 我的理解是,erase()函数目的就是去判断一下刮奖有没有结束,完全可以只在ACTION_UP的时候去调用,而且在move的时候跳出了一个中奖结果用户体验也不太好,还是抬手后再判断比较好。 我试了下,在我的测试机mate8中,刮5%的情况下。 原来的思路CPU要26S后才会计算完所有的东西,而新的思路是抬手后的两秒。 内存倒区别不大。 详情见下面两图:  ACTION_MOVE的时候每次都调用erase()函数  ACTION_UP的时候调用