Android平台使用Xamarin.Auth时,Application Context是否可安全用于账户存储操作?
关于Xamarin.Auth中Context使用的疑问解答
放心,完全可以通过getApplicationContext()获取的Application Context来处理Xamarin.Auth所有涉及账户存储的操作,不用纠结要不要用Activity Context。
给你梳理下原因:
- Xamarin.Auth的账户存储逻辑,底层其实是操作SharedPreferences或者系统账户数据库,这些操作根本不需要和UI绑定,只需要一个全局有效的Context引用就行。Application Context的生命周期和整个应用一致,不会像Activity Context那样因为页面销毁(比如屏幕旋转、后台被回收)而引发内存泄漏风险,反而更安全。
- 再结合你的场景:你是在应用启动时初始化IOC,把Application Context传入管理Xamarin.Auth的库,这个做法特别合适。因为库会长期持有这个Context实例,用Application Context能彻底避免Activity生命周期带来的各种潜在问题。
虽然Xamarin.Auth的文档没明确说明要选哪种Context,但从Android开发的最佳实践,以及Xamarin.Auth的底层实现逻辑来看,只要是不涉及UI渲染的操作,优先用Application Context准没错。
内容的提问来源于stack exchange,提问作者AJ Venturella
相关产品推荐
相关产品推荐

