gpt4 book ai didi

java - 我应该使用 RoboGuice 还是其他依赖注入(inject)框架?

转载 作者:行者123 更新时间:2023-12-01 11:18:07 25 4
gpt4 key购买 nike

我从一位 friend 那里听说,使用 RoboGuice 使 Coding 变得更加容易和简单。 。但我发现Official document of Android当我读this时。作者在第二点中说道:

Official document of Android suggests to avoid dependency injection frameworks like Guice or RoboGuice, reason being is it’s a reflection based library and it creates overheads at run time. Even it tends to perform a lot of process initialization by scanning your code for annotations, which can require significant amounts of your code to be mapped into RAM even though you don’t need it. (Here I would say we can use Android annotation library because it creates duplicate copy of annotated classes so it won’t create any overhead at runtime but at compile time.)

那么我应该使用它吗?任何帮助将不胜感激。

最佳答案

是的,它变得越来越容易,但是正如您在官方文档中所读到的,就像您上面所说的那样,这种依赖注入(inject)会降低您的应用程序性能,因为它依赖于 Java's Reflection .
但并非所有依赖注入(inject)都使用反射,如 ButterknifeDagger 2因此它不会影响您的应用性能。

Butterknife 用法示例:

class ButterknifeActivity extends Activity {
@Bind(R.id.title) TextView title;
@Bind(R.id.logo) ImageView logo;

@Override public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_activity);
ButterKnife.bind(this);
}
}

使用 Butterknife,您不需要调用 findViewById 并强制转换它,而是库会为您执行此操作。

关于java - 我应该使用 RoboGuice 还是其他依赖注入(inject)框架?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31552377/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com