【问题标题】:Android Architecture Blueprints [todo-mvp-dagger] @ActivityScoped, @FragmentScopedAndroid 架构蓝图 [todo-mvp-dagger] @ActivityScoped, @FragmentScoped
【发布时间】:2019-03-21 01:34:56
【问题描述】:

看着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 在同一个片段中同时使用?

提前致谢!

【问题讨论】:

    标签: android annotations dagger-2 dagger


    【解决方案1】:

    因为片段作用域需要知道它是否被插入到活动作用域中,所以作用域的代码生成是为了减少内存占用。这样活动和片段可以共享内存。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-23
      • 2018-04-21
      • 1970-01-01
      相关资源
      最近更新 更多