Timer对象在使用轮询操作时会出现轮询停不下来的情况,从而产生ANR
timer.schedule(任务task,延时时间,间隔时间) //轮询情况只需要改第三个参数
在界面onDestory或者onStop的时候一定要释放timer,避免造成内存泄露
防止为空判断
在只加了cancel的时候我发现偶尔会有线程无法停止的情况,看源码和资料有人说是因为task线程中还有其他任务没有执行完,cancel停止当前的线程,所有timer提供了purge()方法,官方释义:Removes all cancelled tasks from this timer’s task queue.意思就是purge方法会检查timer队列里标记为canceled的task,将对它的引用置为null,来释放内存引用
故,问题解决了!!!