14得票1回答
dealloc中将弱引用属性设置为nil,但是该属性的实例变量不为nil。

我注意到在启用ARC的Objective-C中有以下情况: 假设我们有一个简单的类A和自动生成的弱引用属性。@interface A @property (nonatomic, weak) id refObject; @end @implementation A @end 并且有实现dea...

16得票1回答
使用WeakMaps在Javascript中创建常规弱引用

我正在尝试使用WeakMaps做一个显而易见的事情:我想创建一个弱引用。具体来说,我想要一个事件监听器列表,但是又不想这个列表影响监听器的生命周期。 所以当我发现WeakMaps时,我非常兴奋,直到我发现它们只被用于满足一种(相当罕见的)用例,即扩展那些否则已经sealed的对象。我想不出我...

189得票4回答
如何在Java和Android开发中使用WeakReference?

我已经做了2年的Java开发工作。 但是我从来没有在我的代码中使用过WeakReference。如何使用WeakReference使我的应用程序更高效,特别是Android应用程序?

11得票3回答
为什么在传递给dispatch_after()的Block中不使用弱指针self?

我曾见过以下用法:double delayInSeconds = 2.0; dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC); dispatch_after(pop...

9得票1回答
WeakHashMap和强引用值

Javadocs称:“当某个键被丢弃时,其条目将从地图中有效地删除”。但是,除非有另一个线程偶尔删除这些Map.Entry 条目,否则值对象不会被地图强烈引用。但由于没有这样的线程在运行,只有通过get方法调用才能逐一删除此类条目。出于这个原因,我几乎总是使用WeakHashMap<K,...

13得票3回答
Swift 闭包 - 将 self 捕获为弱引用

我正在尝试解决Swift中基于闭包的强引用循环问题。 在下面的代码中,object由拥有它的视图控制器保留。 ProgressHUD 是一个 UIView ,也被拥有它的视图控制器保留。每次调用完成处理程序时,ProgressHUD 就会泄漏。当使用新的闭包捕获特性时,将self声明为weak...

8得票2回答
带有条件/超时的弱引用

在Java中,是否可以创建一个弱引用,当指定的条件返回true时,只有对象可以被发送到垃圾收集器? 假设我有一个类似缓存的东西,它将ID号映射到一些数据: Map<Integer, SomeData> cache = new HashMap<>(); SomeD...

13得票3回答
Swift中两个相互引用的弱变量?

我今天再次尝试理解在Swift中保留循环和弱引用的概念。阅读文档时,我看到以下代码示例,其中一个引用变量被标记为weak以防止保留循环:class Person { let name: String init(name: String) { self.name = name }...

8得票1回答
为什么Java中没有WeakList和WeakSet的实现?

至少目前还没有“官方”的方法。 您可以轻松地搜索两个或三个“WeakList”示例实现,对于“WeakSet”,一个非常好的可以在NetBeans平台API源代码中找到。 我看到过一个类似的问题,询问关于WeakSet的问题。回答是“没有WeakSet的用例”。如果情况是这样的,那么为什么...

19得票8回答
为什么在Java中需要弱引用?

我知道弱引用对象会受垃圾回收器的影响,我们不能保证弱引用会一直存在。我没有看到需要使用弱引用的必要性,但肯定有原因。 在Java中为什么需要使用弱引用? Java中弱引用的实际用途有哪些(一些)?如果您能分享您在项目中如何使用它将会很棒!