【问题标题】:Is it safe to use the Android Application Context for the various methods in Xamain.Auth将 Android 应用程序上下文用于 Xamarin.Auth 中的各种方法是否安全
【发布时间】:2018-06-29 07:43:41
【问题描述】:

Xamrin.Auth (https://github.com/xamarin/Xamarin.Auth) 在 Android 上使用时,需要任何访问帐户存储的方法将 Context 传递给调用。

我想知道您是否可以通过getApplicationContext() 始终使用应用程序上下文

我的用例是在应用程序启动时初始化 IOC,并将该上下文传递给我的库,该库管理 Xamarin.Auth 调用。

我要么错过它,要么 Xamarin.Auth 文档没有说明适合使用哪个上下文:应用程序与活动。

【问题讨论】:

    标签: xamarin xamarin.android xamarin.auth


    【解决方案1】:

    使用应用程序上下文并不总是可以的,因为每个上下文都有不同的“生命周期”与之相关Context 的错误使用可能会导致您的应用程序出现严重的内存泄漏。

    在初始化库的情况下,您应该始终使用应用程序上下文,因为它将跨越应用程序的生命周期。

    但是,如果您只需要 Activity 中对象生命周期的上下文,那么您应该使用 Activity 的上下文。

    【讨论】:

    • 由于我的服务容器/注册表是在应用程序的 OnCreate() 中初始化的(而不是在 Activity 中),所以使用ApplicationContext 可能是最有意义的,我将根据您的信息假设以上。
    • 这是一个很好的假设。我的经验法则通常是“在您初始化的范围内使用Context”。例如,如果在 Activity 中初始化时需要 Context,则可以使用 Activity Context
    猜你喜欢
    • 2012-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-13
    • 1970-01-01
    • 2018-03-21
    • 2012-09-29
    相关资源
    最近更新 更多