WEB开发网
开发学院手机开发Android 开发 如何编写高效的Android代码 阅读

如何编写高效的Android代码

 2010-06-01 04:33:00 来源:WEB开发网   
核心提示:for (int n = 0; n < count; n++) {int valItem = items[n].e.ordinal();if (valItem == valX)// do stuff 1else if (valItem == valY)// do stuff 2}int valX = MyEnum

for (int n = 0; n < count; n++) {

int valItem = items[n].e.ordinal();

if (valItem == valX)// do stuff 1

else if (valItem == valY)// do stuff 2

}

int valX = MyEnum.VAL_X.ordinal();

int valY = MyEnum.VAL_Y.ordinal();

int count = list.size();

MyItem items = list.items();

for (int n = 0; n < count; n++) {

int valItem = items[n].e.ordinal();

if (valItem == valX)// do stuff 1

else if (valItem == valY)// do stuff 2

}

会使性能得到一些改善,但这并不是最终的解决之道。

将与内部类一同使用的变量声明在包范围内

请看下面的类定义:

Java代码

public class Foo {

private int mValue;

public void run() {

Inner in = new Inner();

mValue = 27;

in.stuff();

}

private void doStuff(int value) {

System.out.println("Value is " + value);

}

private class Inner {

void stuff() {

Foo.this.doStuff(Foo.this.mValue);

}

}

}

public class Foo {

private int mValue;

public void run() {

Inner in = new Inner();

mValue = 27;

in.stuff();

}

private void doStuff(int value) {

System.out.println("Value is " + value);

}

private class Inner {

void stuff() {

Foo.this.doStuff(Foo.this.mValue);

}

}

}

这其中的关键是,我们定义了一个内部类(Foo$Inner),它需要访问外部类的私有域变量和函数。这是合法的,并且会打印出我们希望的结果"Value is 27"。

问题是在技术上来讲(在幕后)Foo$Inner是一个完全独立的类,它要直接访问Foo的私有成员是非法的。要跨越这个鸿沟,编译器需要生成一组方法:

Java代码

static int Foo.access$100(Foo foo) {

上一页  2 3 4 5 6 7 8  下一页

Tags:如何 编写 高效

编辑录入:coldstar [复制链接] [打 印]
赞助商链接