一些配置信息存到 app 本地数据库的时候,启动时提取出来需要用 await (比如用数据库 sqlite 或 realm ),那么一般是怎么处理这个 await 跟界面渲染的关系的?是直接在 main 函数里用 await 等配置数据加载出来再 runApp 的吗?但这种用本地配置数据都需要 await 我感觉就有点麻烦,还是有别的更好做法?
1
bankroft 2022-03-15 16:00:04 +08:00
我是先 loading 占位,等拿到数据再跳转 main
|
2
txx 2022-03-15 16:01:21 +08:00
当然是做个 Splash 页面啊...
|
3
Nillouise OP |
6
linghtls 2022-03-16 11:17:47 +08:00 via Android
await 怎么就麻烦了…,数据量不大可以直接在 runApp 之前加载到内存
|
7
txx 2022-03-16 14:11:05 +08:00
@Nillouise
我表述有问题.. 我不确定 runApp 这个时间发生在哪里,如果是 iOS 的 applicationDidFinishedLaunching ,阻塞这个是容易触发 watchdog 的。毕竟如果你能确定 sqlite 的东西一直都是轻量化的这么做也没啥问题,缺点就是如果是个团队性质的,团队里哪个傻逼丢进去一个大字典啥的,在低端设备上就 watchdog 了。 我刚才去瞅了一眼,这地方我理解是错误的,flutter engine 的 初始化是放在 FlutterViewController 初始化之后的 这就无所谓了 |