android - 谁应该在什么时候处置 Intent ?

标签 android xamarin idisposable

我注意到 Xamarin IntentIDisposable 所以现在我想知道处置它的正确方法是什么。假设我创建并发送了它,在某些 Activity 中我收到了它并且...可以立即处理它吗?

我在问什么是正确的(作为指南)方法。

最佳答案

Xamarin.Android 中继承 Java.Lang.Object 的对象也遵循 IDisposable 模式,以确保 Mono GC 和 Android 之间正确的 1:1 映射GC(托管和本地 GC)。它们在两个 VM 中都有一个对象的表示,该对象具有一个桥接的概念,以便在何时收集它们时进行通信。

它们被称为 Peer Objects,通常由 GC 收集。

调用 Dispose() 是可选的,因为其中一个 GC 会处理它。但是,您可以通过调用 Dispose() 来切断允许 GC 更早收集它的引用来缩短对象的生命周期。

您可以在以下位置阅读更多相关信息:

Xamarin Android garbage collection algorithm

https://learn.microsoft.com/en-us/xamarin/android/internals/garbage-collection

关于android - 谁应该在什么时候处置 Intent ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50972295/

相关文章:

ironpython - IronPython中的C#“using” block 等效于什么?

android - 如何检测用户与图形流的交互?

android - 如何使用导航组件( fragment 到 fragment )在 Espresso 中测试 fragment 导航?

android - 我应该如何索引 Android 应用程序的内容

Xamarin 表单 : Change the size of scrollview on translateto

c# - 构造函数链中的 IDisposable

c# - 有没有办法在 C# 中编写一次性 (UnlockBits) 位图?

java - 如何防止混淆\实现另一个方法的类方法名称?

java - 用于 Unity 的 Android Java USB 串行通信插件未运行

ios - 无法使用 Push Sharp 发送 iOS MDM 推送通知