HandlerThread初使用中遇到的一些小问题

HandlerThread的停止不能使用stop(),stop()是一个已经被淘汰的方法。

所以在android中企图使用stop()方法来停止线程的话会产生UnsupportedOperationException错误。

如果要停止的话要使用。

mHandlerThread.getLooper().quit();


晚上看到HandlerThread的方法,使用Handler和他绑定的话可以和主线程分离开来,来进行一些耗时操作。

网上说的耗时操作后对UI的操作需要放在Handler的handlerMessage里面

一小段时间内可以,超过一段时间,比如我使用Delay之后就会出现

ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views 的错误

实在是找不到原因,希望能有人能告诉我。

不过这个HandlerThread应该可以用在其他的耗时操作的一次性更新UI上。所以记录一下以后可以使用。


对于进度条的动画,果然还是使用封装好的AsyncTask比较方便


下面记录一下HandlerThread和Handler绑定的方法:

HandlerThread thread = new HandlerThread("MyHandlerThread");
thread.start();
mHandler = new Handler(thread.getLooper());
mHandler.post(new Runnable(){...});



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值