小编Vu *_*anh的帖子

可注入、get_it Flutter 的性能

我有个问题。在我的项目中,我有一些单例课程。

  • DioMethod(一些 api 配置),
  • 存储库(连接ApiProvider和 BLoc 类),
  • ApiProvider(调用 api => 获取数据 => 传递到Repository),
  • 一些 BloC 类,例如MoviesBlocMovieDetailBloc 等我为每个 Screen 创建了一个 BLoC 类

$initGetIt处的初始化相同。

_i1.GetIt $initGetIt(_i1.GetIt get,
    {String? environment, _i2.EnvironmentFilter? environmentFilter}) {
  final gh = _i2.GetItHelper(get, environment, environmentFilter);
  gh.singleton<_i3.DioConfig>(_i3.DioConfig());
  gh.singleton<_i4.DioMethod>(_i4.DioMethod(get<_i3.DioConfig>()));
  gh.singleton<_i5.MovieApiProvider>(
      _i5.MovieApiProvider(get<_i4.DioMethod>()));
  gh.singleton<_i6.Repository>(_i6.Repository());
  gh.lazySingleton<_i7.MovieDetailBloc>(
      () => _i7.MovieDetailBloc(get<_i6.Repository>()),
      dispose: (i) => i.dispose());
  gh.lazySingleton<_i8.MoviesBloc>(() => _i8.MoviesBloc(get<_i6.Repository>()),
      dispose: (i) => i.dispose());
  return get;
}
Run Code Online (Sandbox Code Playgroud)

我认为如果我扩展我的项目,我可能会遇到一些问题。

  1. 这个函数太大了,我们有太多的单例仍然存在于应用程序中。
  2. 打开app时我们需要初始化很多Object => …

injectable dart flutter bloc

1
推荐指数
1
解决办法
797
查看次数

标签 统计

bloc ×1

dart ×1

flutter ×1

injectable ×1