.对于调用了handler.Create()后的handler,CoreLooper基本可以保证Handler在原生looper在析构,但不是100%保证
在验证稳定性时可精心构造出此场景,由此CoreLooper保证Handler在跨looper析构时不会出现异常
实际运行中跨looper析构handler的几率可忽略不计
强烈建议用户把清理操作放在OnDestroy()中就能保证不出现异常,OnDestroy()始终是在handler原生looper中调用的
.之前的设计是Handler可以在构造函数中调用SetTimer,KillTimer
现在为了让Handler和Looper更加统一,限制仅在Handler.OnCreate()里面或者之后才能成功调用SetTimer
postDelayedRunnable内部用到了SetTimer,所以也有这个限制
.handler.Destroy()之后,CoreLooper不再保证其timer和runnable的运行
可能清除handler的所有timer和postDelayedRunnable