[英]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()
方法只是返回它。
检查构造函数源代码和View
的getContext()
方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.