2

为性能和内存实例化变量的最有效方法是什么?

这个 :

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));

或者没关系,它是一样的,所以我应该坚持我最喜欢的东西?

4

2 回答 2

1

没关系。创建相同数量的对象。为了可读性,我更喜欢第一个。不过我会跳过第一行。

于 2012-12-05T14:48:07.080 回答
1

它实际上与垃圾收集无关。它与代码的执行速度和可读性有关。如果您在代码块中(在 {} 之间)多次引用全局变量,您通常会将其分配给局部变量,因为访问局部变量比访问全局变量要快。如果您多次调用具有相同参数的方法,您也可以这样做,在这种情况下,您不必多次执行该方法。

于 2012-12-05T15:02:59.760 回答