带有ObjecOutputStream的Android OutofMemory

时间:2013-03-06 22:25:56

标签: android garbage-collection out-of-memory

我创建了一个客户端/服务器对,有两个线程来发送和接收对象,虽然它在开始运行正常但是当它运行一段时间时遇到OutofMemory错误,我正在查看垃圾收集器是如何工作的在Android 2.3.4中,似乎某些对象由ObjectInputStream和ObjectOutputStream保存,不会被GC收集。我使用Eclipse中的内存分析工具找出内存泄漏的位置,发现有一个IdentityHashMap对象可以保持对发送和接收的数据的引用。我想找到解决此问题的方法,如何释放此数据或如何删除此对象保留在我的数据上的引用,以防止收集它。我正在使用的内存堆对于手机64M来说非常大,如果我尝试使用大块数据,它可以正常工作,只要我不运行很长时间。

1 个答案:

答案 0 :(得分:0)

问:你在任何时候都在做“重置()”吗?

对象流会记住写入它们的每个对象,除非您重置它们。