This commit is contained in:
wangcongtao
2020-03-30 11:52:17 +08:00
parent 9d0063f79c
commit 93b83ad45e
4 changed files with 16 additions and 11 deletions

View File

@@ -2,6 +2,7 @@ package com.mogo.utils;
import android.os.Handler;
import android.os.HandlerThread;
import android.os.Looper;
/**
* @author congtaowang
@@ -11,6 +12,7 @@ import android.os.HandlerThread;
*/
public class WorkThreadHandler {
private Looper mThreadLooper;
private Handler mHandler;
private HandlerThread mThread;
@@ -18,7 +20,8 @@ public class WorkThreadHandler {
// private constructor
mThread = new HandlerThread( "work-thread-handler" );
mThread.start();
mHandler = new Handler( mThread.getLooper() );
mThreadLooper = mThread.getLooper();
mHandler = new Handler( mThreadLooper );
}
private static final class InstanceHolder {
@@ -29,6 +32,10 @@ public class WorkThreadHandler {
return InstanceHolder.INSTANCE;
}
public Looper getLooper() {
return mThreadLooper;
}
private Object readResolve() {
// 阻止反序列化,必须实现 Serializable 接口
return InstanceHolder.INSTANCE;
@@ -40,7 +47,7 @@ public class WorkThreadHandler {
return mHandler != null && mHandler.post( r );
}
public boolean postDelayed(Runnable r, long delayMillis ) {
public boolean postDelayed( Runnable r, long delayMillis ) {
return mHandler != null && mHandler.postDelayed( r, delayMillis );
}
@@ -48,7 +55,7 @@ public class WorkThreadHandler {
return mHandler;
}
public boolean postOnceDelayed(Runnable r, long delayMillis ) {
public boolean postOnceDelayed( Runnable r, long delayMillis ) {
if ( mHandler == null ) {
return false;
} else {