在我的android应用程序中,我有一个大型的对象ArrayList(超过100个),并且我使用putExtra(key,value)函数通过意图将此ArrayList从活动传递给activity。当我做这样的事情时,内存明智地发生了什么,ArrayList是否被复制,所以它现在占用了它所需的内存的两倍?或者jst被引用,所以空间保持不变?
答案 0 :(得分:6)
当您通过ArrayList
时,您正在序列化/包含它。这称为marshalling。另一方面,您正在阅读这些包裹并进行解组。它的作用基本上是将您的ArrayList
转换为您在另一端阅读的流,并将原始文件的 COPY 。