我正在构建一个社交媒体应用。一个名叫Fred的用户可能会:
- 下载Fred自己的个人资料并在屏幕上查看
- 查看Fred自己的粉丝
- 看到Sarah正在关注Fred
- 点击Sarah的名字以下载Sarah的个人资料
- 查看Sarah的粉丝
- 看到Fred正在关注Sarah
- 点击Fred的名字再次查看他自己的个人资料。
此时,应用程序中的屏幕堆栈如下所示:
Fred < Sarah < Fred
我希望两个Fred屏幕中的实例是完全相同的。由于是,如果Fred在顶部的Fred个人资料屏幕上更改了自己的帐户并按两次返回按钮,则底部的Fred个人资料屏幕应显示所做的更改。
随着用户在应用程序中导航,用户屏幕的堆栈可能会变得任意深。
我的想法是,当小部件请求对象时,程序首先检查所有当前正在使用的User
对象的内存缓存,然后调用中央服务器的JSON API。
我希望当任何小部件不再需要时,对象可以被垃圾回收。
如何保持内存中的缓存,而无需在小部件initState
和dispose
方法中手动增加和减少引用计数?Dart中是否有类似于弱集合的东西可以使用?
谢谢!!!