【问题标题】:Cleaning resources/disposing in CustomControl在 CustomControl 中清理资源/处置
【发布时间】:2014-07-07 21:15:17
【问题描述】:

我正在为 WinRT / WP8.1 编写自定义控件,我想知道清理资源/处置的正确方法是什么?我使用 RX(事件到 Observables),我应该手动处理它 - 但我不确定在哪里做(不强制 api 客户端手动调用 .Dispose() )?

【问题讨论】:

  • 这里的关键是您提到您正在使用 Rx 将事件转换为可观察序列,如果您不使用 Rx,您会将事件取消注册('-=')放在自定义中控制?,我猜,但可能在 Unload 事件中。
  • 我在自定义控件中看不到“Unload”事件之类的东西 - 如果它可用,我会在那里处理 rx observables。
  • 好的,那么在哪里设置活动订阅?
  • 我继承自 OnApplyTemplate() 中的控制和设置事件
  • 那么为什么不在 OnAppylyTemplate 中为 Unloaded 事件设置事件订阅呢?

标签: c# xaml windows-runtime


【解决方案1】:

我认为这将取决于您拥有哪些资源,并且您可以提出许多不同的策略,这些策略将更好地适用于特定场景。您可以实现IDisposable 或使用Loaded 和Unloaded 事件来管理资源的生命周期。一旦您可以处置它们,您可能根本不使用任何资源。您可以向控件的用户公开不同的方法或属性,以指定使用哪种策略,以便他们有选择权或明确调用它来决定何时清理。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-24
  • 2022-10-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多