我发现虽然有很多关于Xamarin Android的教程,但似乎没有太多关于如何处理资源的内容。更具体地说,当他们被处置时。
例如,在活动的OnCreate处理程序中,我正在进行多个Rx订阅,每个订阅返回一个IDisposable
。我试图在各种其他处理程序(例如OnDestroy)中处理它们,但这些处理程序永远不会被调用。但订阅似乎堆积如山,因为每次导航活动时OnCreate都会运行。
除了这些订阅之外,还有我分配给类级变量(字段)的所有UI控件(TextViews,Buttons等)。那些也实现了IDisposable
。
据我所知,我到处都有内存泄漏。
在任何地方都有指导吗?
答案 0 :(得分:0)
@SushiHangover是正确的(感谢寿司)。 free
和struct head
是我追求的事件。我还有一点挑战,当我点击我的自定义“返回开始”按钮时,我需要回到开始屏幕(沿途跳过中间屏幕)。 / p>
执行此操作的方法是在启动主屏幕活动时使用OnPause
ActivityFlag(OnResume
)。在这里可以看到原始的Android代码版本https://stackoverflow.com/a/5794572/540156
当你这样做的时候,你可以清理那些从后端堆栈中弹出的活动(在ClearTop
处理程序中,从重新收集中)。