本文是针对上文Android小技巧:利用动态代理自动切换线程的一个补充,补充一种简单的实现方式。
上文中我们提到利用动态代理将对某个对象的方法调用自动切换到对应线程中去,只是探讨了可行性和局限,但如果每个功能都手动创建代理就显得有些繁琐。本文提供一个简单的工具来简化这个创建流程。
使用效果演示
方式一:注解控制
@RunInThread(ThreadType.IO)
public interface TestActor {
void test();
}
class TestActorImpl implements TestActor {
@Override
public void test() {
Log.d("SPECTRE", "TestActorImpl.test => " + Thread.currentThread().getName());
}
@Override
public int hashCode() {
Log.d("SPECTRE", "TestActorImpl.hashCode => " + Thread.currentThread().getName());
return super.hashCode();
}
}
//下面是获取代理对象并调用的代码
TestActor actor = ThreadProxyUtils.createThreadProxy(TestActor.class, new TestActorImpl());
actor.test();
actor.hashCode();
方式二:参数控制
// 这里没有注解
public interface TestActor {
void test();
}
class TestActorImpl implements TestActor

最低0.47元/天 解锁文章
648

被折叠的 条评论
为什么被折叠?



