为性能和内存实例化变量的最有效方法是什么?
这个:
Context context = this;
Resources resources = context.getResources();
Drawable drawable = resources.getDrawable(R.drawable.image);
ListView list = (ListView) context.findViewById(R.id.list);
list.setBackgroundDrawable(drawable);
或者这个:
((ListView) findViewById(R.id.list)).setBackgroundDrawable(getResources().getDrawable(R.drawable.image));
或者没关系,它是一样的,所以我应该坚持我最喜欢的东西?
答案 0 :(得分:1)
没关系。创建相同数量的对象。为了便于阅读,我更喜欢第一个。我会跳过第一行。
答案 1 :(得分:1)
它实际上与垃圾收集无关。它涉及执行速度和代码的可读性。如果在代码块中多次引用全局变量(在{}之间),则通常将其分配给局部变量,因为访问局部变量比全局变量更快。如果您对具有相同参数的方法进行多次调用,则执行相同的操作,在这种情况下,您不必多次执行该方法。