当调用putExtra()时,内存方式会发生什么?

时间:2015-05-13 13:24:50

标签: android android-intent memory memory-management

在我的android应用程序中,我有一个大型的对象ArrayList(超过100个),并且我使用putExtra(key,value)函数通过意图将此ArrayList从活动传递给activity。当我做这样的事情时,内存明智地发生了什么,ArrayList是否被复制,所以它现在占用了它所需的内存的两倍?或者jst被引用,所以空间保持不变?

1 个答案:

答案 0 :(得分:6)

当您通过ArrayList时,您正在序列化/包含它。这称为marshalling。另一方面,您正在阅读这些包裹并进行解组。它的作用基本上是将您的ArrayList转换为您在另一端阅读的流,并将原始文件的 COPY