【问题标题】:How do attatched property instances be gabage collected in wpf?附加属性实例如何在 wpf 中被垃圾收集?
【发布时间】:2018-04-20 08:18:52
【问题描述】:

附加属性旨在扩展依赖对象,但是如何将属性值存储在内存中,一行代码SetDPProperty(DependencyObject d)与附加的目标对象相关联?如果它是静态存储在某个地方,并且AP如何检查目标对象是否正在被使用,如果没有被使用则移除引用让GC收集?

【问题讨论】:

  • 它的存储方式与常规依赖属性完全一样,并将与设置它的 DependencyObject 一起收集。
  • 我看过源码link.你说的很对:)

标签: c# wpf xaml memory garbage-collection


【解决方案1】:

已设置的依赖属性(包括附加的依赖属性)的值在内部存储在DependencyObject 基类中,并且将在收集对象本身时照常收集。在垃圾回收方面,这些值没有什么特别之处。

如果您想了解如何存储值的详细信息,您可以在此处查看DependencyObject 类及其SetValue 方法的实现方式:https://referencesource.microsoft.com/#WindowsBase/Base/System/Windows/DependencyObject.cs,76dfd12a4655a37a

在垃圾回收方面,这些值没有什么特别之处。

【讨论】:

    猜你喜欢
    • 2016-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多