我发现了一个不保留架构组件ViewModel的情况 - 简而言之,如下所示:
ViewModel
调用ViewModel的方法并创建新对象在这种情况下,我的ViewModel实例正在被销毁,这是Android的正常行为吗?如果是这样,是否有任何建议的解决方案来保持其状态?
我可以想到的一种方法ViewModel
是在调用时保存它,但是,只要活动实际完成,它也会保持状态.另一种方法可能是利用onCleared
它,但它在每个屏幕旋转时触发(不仅如果应用程序在后台).
处理这种情况的银弹?
在我的应用程序树中,我有两个小部件:
GestureDetector(
onTap: () => print('Outer'),
child: IconButton(
icon: Icon(Icons.add),
onPressed: () => print('Inner')),
),
)
Run Code Online (Sandbox Code Playgroud)
他们都试图对触摸事件做出反应,但只有孩子的回调被调用(这是默认行为)。是否可以以阻止祖先将触摸事件传播给其子级的方式定义小部件?或者也许唯一的方法是自己实现这种行为,例如通过使用GestureArena
?