繁体   English   中英

传递 Context 或使用 view.getContext()。 真的有关系吗?

[英]Pass Context or make use of view.getContext(). Does it really matter?

所以,我有两个选择来获取context 请参阅实用程序类中的以下两种方法(为清晰起见已清理)。

public static void onCopyClicked(Context context, ImageView copy){
    copy.setVisibility(View.GONE);
    Intent intent = new Intent(context, NextActivity.class);
    context.startActivity(intent);
}

public static void onCopyClicked(ImageView copy){
    Context context = copy.getContext();
    copy.setVisibility(View.GONE);
    Intent intent = new Intent(context, NextActivity.class);
    context.startActivity(intent);
}

我可以传递上下文或简单地从视图中获取它。 我想我更喜欢第二个,因为它传递的参数少了一个,但我想知道getContext()调用是否成本高昂。 我不是试图微观管理我的代码,而是试图遵循最佳实践(如果存在这种情况)。

您可以使用第二个选项。

View上调用getContext()并不昂贵。 创建View时会保存context引用,并且getContext()方法只是返回它。

检查构造函数源代码ViewgetContext()方法

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM