在Flutter中,使用分析包(例如Firebase Analytics,如跟踪屏幕),最佳位置手动记录屏幕视图是什么?
查看Flutter生命周期,不清楚何时跟踪屏幕视图是有意义的。
对于StatelessWidget,我认为build()可能是有意义的,因为我猜它每次只调用一次屏幕视图。
那么对于StatefulWidget呢?在这种情况下,build()将毫无用处,因为它可能被多次调用。其他候选项是initState(),createState()或构造函数,这些函数似乎只会在屏幕视图中调用一次,但我猜它们可能会被多次调用,因为上层的小部件正在重新构建。
查看Flutter生命周期,不清楚何时跟踪屏幕视图是有意义的。
对于StatelessWidget,我认为build()可能是有意义的,因为我猜它每次只调用一次屏幕视图。
那么对于StatefulWidget呢?在这种情况下,build()将毫无用处,因为它可能被多次调用。其他候选项是initState(),createState()或构造函数,这些函数似乎只会在屏幕视图中调用一次,但我猜它们可能会被多次调用,因为上层的小部件正在重新构建。
StatelessWidget
应该使用build()
方法,而对于StatefulWidget
则可以使用initState()
方法。但是在这两种情况下,数据都可以从外部进行更改并传入,因此这并不是100%准确的,具体取决于你的实现方式。 - CopsOnRoad