Android体系结构蓝图[todo-mvp-dagger] @ ActivityScoped,@ FragmentScoped

时间:2019-03-21 01:34:57

标签: android annotations dagger-2 dagger

https://github.com/googlesamples/android-architecture/blob/todo-mvp-dagger/todoapp/app/src/main/java/com/example/android/architecture/blueprints/todoapp/tasks/TasksFragment.java

@ActivityScoped
public class TasksFragment extends DaggerFragment implements TasksContract.View {

https://github.com/googlesamples/android-architecture/blob/todo-mvp-dagger/todoapp/app/src/main/java/com/example/android/architecture/blueprints/todoapp/tasks/TasksModule.java

@Module
public abstract class TasksModule {
    @FragmentScoped
    @ContributesAndroidInjector
    abstract TasksFragment tasksFragment();
  1. 为什么@ActivityScoped直接应用于TaskFragment?不应应用于TaskModule中的taskFragment方法吗?
  2. 为什么在同一片段中同时使用@ActivityScoped和@FragmentScoped?

谢谢!

1 个答案:

答案 0 :(得分:0)

由于片段范围需要知道是否将其插入到活动范围中,因此生成作用域的代码是为了减少内存占用。这样,活动和片段可以共享内存。