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(){...});
版权声明:本文为博主原创文章,未经博主允许不得转载。