在Android系统中,我们执行耗时操作都要另外开启子线程来执行,执行完线程以后线程会自动销毁。想象一下如果我们在项目中经常要执行耗时操作,如果经常要开启线程,接着又销毁线程,这无疑是很消耗性能的。
解决方法:
1.使用线程池
2.使用HandlerThread
HandlerThread的使用场景
HandlerThread是Google帮我们封装好的,可以用来执行多个耗时操作,而不需要多次开启线程,里面是采用Handler和Looper实现的。
HandlerThread使用
1.创建HandlerThread的实例对象
HandlerThread handlerThread = new HandlerThread("myHandlerThread");
该参数表示线程的名字,可以随便选择。
2.启动我们创建的HandlerThread线程
handlerThread.start();
3.将handlerThread与Handler绑定在一起。 其实就是将线程的looper与Handler绑定在一起。
mThreadHandler = new Handler(mHandlerThread.getLooper()) {
@Override
public void handleMessage(Message msg) {
if(isUpdate){
mThreadHandler.sendEmptyMessage(MSG_UPDATE_INFO);
}
}
};