我的代码中有一些对象没有在everyloop中调用,但是在将来有些强制终止循环,不可预测的错误等时会有用,所以如何确保这个对象不会被垃圾收集器收集。
例如:我有一个类,所以我不希望GC在这个类上执行任何垃圾收集
答案 0 :(得分:4)
如果对象有价值且创建成本高昂,您应该在班级的某个字段中依赖它们。您可以创建一个类似缓存的地图,当您准备再次使用它们时,将它们从地图中删除。
答案 1 :(得分:0)
保持对该对象的强引用,执行此操作将始终确保您的对象不会被GCed。我还会把这些东西留给垃圾收集器,我认为在内存管理方面我认为它比我们更聪明(并且应该得到应有的尊重)
答案 2 :(得分:0)
您应该查看变量的范围。只要它们在范围内,它们就不应该被垃圾收集。
答案 3 :(得分:0)
如果它们将来有用,你可以在某处提到这些对象。这足以确保它们永远不会被垃圾收集。
答案 4 :(得分:0)
垃圾收集器只是避免了代码中有任何参考的对象。所以如果你想要任何对象永远不会被G.C.收集直到执行你的代码。只要对该对象进行全局引用。