/** * control 代理工厂 * * @param clazz * @return */ public static <T> T getControlInstance(Class<T> clazz, MessageProxy mMethodCallBack) { Enhancer<T> enhancer; if (mMethodCallBack != null) { enhancer = new Enhancer<T>( mCacheDir, clazz, new Class[] {mMethodCallBack.getClass()}, new Object[] {mMethodCallBack}); } else { enhancer = new Enhancer<T>(mCacheDir, clazz); } enhancer.addCallBacks(new Interceptor[] {new AsyncMethodAtomInterceptor(mMethodCallBack)}); enhancer.addFilter(new AsyncMethodFilter()); return enhancer.create(); }