Xamarin Android活动和处置一次性用品

时间:2017-12-19 01:04:20

标签: xamarin xamarin.android

我发现虽然有很多关于Xamarin Android的教程,但似乎没有太多关于如何处理资源的内容。更具体地说,当他们被处置时。

例如,在活动的OnCreate处理程序中,我正在进行多个Rx订阅,每个订阅返回一个IDisposable。我试图在各种其他处理程序(例如OnDestroy)中处理它们,但这些处理程序永远不会被调用。但订阅似乎堆积如山,因为每次导航活动时OnCreate都会运行。

除了这些订阅之外,还有我分配给类级变量(字段)的所有UI控件(TextViews,Buttons等)。那些也实现了IDisposable

据我所知,我到处都有内存泄漏。

在任何地方都有指导吗?

1 个答案:

答案 0 :(得分:0)

@SushiHangover是正确的(感谢寿司)。 freestruct head是我追求的事件。我还有一点挑战,当我点击我的自定义“返回开始”按钮时,我需要回到开始屏幕(沿途跳过中间屏幕)。 / p>

执行此操作的方法是在启动主屏幕活动时使用OnPause ActivityFlag(OnResume)。在这里可以看到原始的Android代码版本https://stackoverflow.com/a/5794572/540156

当你这样做的时候,你可以清理那些从后端堆栈中弹出的活动(在ClearTop处理程序中,从重新收集中)。