gpt4 book ai didi

android - SharedPreferences 的应用程序上下文?

转载 作者:IT王子 更新时间:2023-10-28 23:30:53 24 4
gpt4 key购买 nike

我可以使用 ApplicationContext 来处理 SharedPreferences 并启动例如 RemoteService 吗?

从逻辑上讲,我认为我可以。这种方法有什么细微差别吗?

最佳答案

正如 Gunnar Karlsson 提到的 ContextWrapper 的 getApplicationContext()用法很清楚,您应该只使用 ActivityService Context注册/取消注册您的接收器,绑定(bind)/取消绑定(bind)您的服务(除非确实需要注册静态数据,而不是特定组件)以避免不确定的内存泄漏,并且即使您有时忘记取消注册也是安全的,系统将清除它

但是,对于 getSharedPreferences(...),您始终可以使用任何 ApplicationContextContext顺利。 reason就是,已经明确提到了

For any particular set of preferences(here SharedPreferences), there is a single instance ofthis class that all clients share.

仅通过应用程序上下文获取引用不会永远保留该引用。它只是通过应用程序上下文对首选项的引用,就像其他任何东西一样。所以一旦用户完成它就会被清除。

请注意,通过应用程序上下文注册接收器将被维护为与您的应用程序关联的全局状态。所以它永远不会为你清除。

如果我错了,请有人纠正我。

希望这会对你有所帮助。

关于android - SharedPreferences 的应用程序上下文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9109073/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com