«

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

时间:2024-3-2 20:03     作者:韩俊     分类: Android


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(){...});



版权声明:本文为博主原创文章,未经博主允许不得转载。

标签: android

热门推荐