当在Android中传递数据时(例如,在活动之间),似乎主要被接受的方法是使用Bundles和Parcelables。这种方法的问题是它序列化了所有数据,这是低效的。我想知道--有没有办法传递引用而不是数据本身来提高效率?
发布于 2014-01-02 08:26:13
这可能效率较低(尽管在大多数情况下不会有太大影响),但避免了在活动之间保留对对象的引用。这有助于保持架构的整洁,并且不容易发生内存泄漏。
在某些情况下,你可以使用Application类、静态助手类、单例或服务来帮助你,但要确保你知道你在用它们做什么。
发布于 2014-01-02 08:34:39
我认为最好的方法是让所有的数据模型对象都是可共享的,并让所有的活动都扩展一个基类,并使用包装器或帮助器方法在活动之间传递数据模型对象。
我在我的所有应用程序中都使用了这种方法,到目前为止,它非常有用,并最大限度地减少了活动和片段之间使用的引用数量。
发布于 2014-01-02 08:25:17
您可以使用许多技术,这完全取决于您试图实现的目标,例如,您可以使用单例来保持引用的活动状态,也可以(尽管您确实不应该)使用静态引用。归根结底,这一切都取决于您试图传递的是什么类型的数据。请记住,有时重建一个对象比让它一直存活到垃圾收集器清除它(如果发生过)要好得多。
https://stackoverflow.com/questions/20874671
复制相似问题