问题引出
不想通过Intent
在Activity之间传递数据集。
目的是为了减少数据加载的次数,复用数据。
解决方法
通过单例类来共享数据
何时注入数据
- 数据产生的时候,将数据注入到单例类中。例子中的
ContactListUtil
是用来存放所有联系人的数据集,这个数据集的特点是含义固定,所以数据生成的位置是固定的,不随着所服务的界面而发生变化,而且生成了之后不考虑何时去使用它,仅需要知道肯定会被使用到。
- 在需要使用该数据的时候,将数据注入到单例类中。例子中的
MultiChatUtil
的特点是当做传入MultiChatContactActivity
的媒介,从不同的界面跳转到该Activity所需要注入的数据集是不同的,而且注入的数据集也是不同的。
这里再多说两句,MultiChatContactActivity
的设计中,通过mode
来实现复用类的制定化
何时销毁数据
-
ContactListUtil
的数据可以认为整个应用存活期间都需要,因此不需要显示销毁。
-
MultiChatUtil
的数据在使用完复用类MultiChatContactActivity
之后就应该销毁。
-EOF-