gpt4 book ai didi

android - ContextWrapper(具有上下文代理)的目的是什么?

转载 作者:行者123 更新时间:2023-11-29 23:16:15 26 4
gpt4 key购买 nike

根据 Android 文档,ContextWrapper是“Context 的[p]代理实现,它只是将其所有调用委托(delegate)给另一个Context。可以子类化以修改行为而不更改原始Context。”

我对代理模式没有太多经验。它在这里如何使用以及用于什么目的?换句话说,为什么不用它的间接子类,比如 ActivityService , 直接继承它?

最佳答案

能够覆盖它的一些行为。例如,您可以为应用程序创建一个基本上下文,然后将其放入 ContextWrapper 并重写 Resource 对象以为其设置主题(这正是 Android 实际所做的)。

至于为什么你要这样做而不是仅仅创建子类——这样就不必创建两个可能非常重量级的对象。您也可以在两者之间共享变量,但这会增加内存泄漏的可能性。对象的创建也可能很昂贵,但如果它已经完成,您可以通过代理来避免这种情况。

关于android - ContextWrapper(具有上下文代理)的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55318150/

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