我正在使用 Retrofit在每一项任务中,我都必须这样做:
public class MyTask extends AsyncTask<String, String, String> {
private void someMethod() {
final RestAdapter restAdapter = new RestAdapter.Builder()
.setServer("http://10.0.2.2:8080")
.build();
final MyTaskService apiManager = restAdapter.create(MyTaskService.class);
}
// ...
}
什么是让这段代码干燥的好方法?
最佳答案
RestAdapter
和生成的服务实例(在本例中为 MyTaskService
)都是非常昂贵的对象,应该用作单例。
这意味着您应该只调用一次 restAdapter.create
并在每次需要交互时重复使用相同的 MyTaskService
实例。
我怎么强调都不过分。
您可以使用常规的单例模式,以确保您在任何地方都只使用这些对象的一个实例。依赖注入(inject)框架也可以用来管理这些实例,但如果你还没有使用它,那就有点矫枉过正了。
关于java - 有没有办法重用构建器代码进行改造,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20579185/