南昌Android培训
达内南昌中心

13732203138

热门课程

如何编写高效的Android代码 ?

  • 时间:2018-05-11 17:23
  • 发布:转载
  • 来源:网络

时间是很宝贵的东西,在编写Android代码的时候尽量的编写出高效的Android代码可以节省你很多的时间,让你有时间去泡妞、去陪女朋友、去陪基友,去吃饭、去文娱、去睡觉!毕竟,谁都不想整夜整夜的加班,然后还乱吼:时间都去哪了?!下面就整理了怎样提高效力,编写高效的Android代码!看到这,偷笑了吧,表粉饰,我已看到!

对如何判断1个系统的不公道,这里有两个基本的原则:

1、不要做没必要要做的事情。

2、尽量的节省内存的使用。

下面是经常使用的几点优化建议:

1、尽量避免创建对象(Object)

由于对象的创建其实不是没有代价的,如果你在1个用户界面的循环中分配1个对象,你不能不强迫的进行内存回收,那末就会使用户体验出现略微“打嗝”的现象。

当从原始的输入数据中提取字符串时,试着从原始字符串返回1个子字符串,而不是创建1份拷贝。

2、使用本身方法(Use Native Methods)

当处理字符串的时候,不要犹豫,尽量多的使用诸如String.indexOf()、String.lastIndexOf()这样对象本身带有的方法。由于这些方法使用C/C++来实现的,要比在1个java循环中做一样的事情快10⑴00倍。

3、使用Safe.ijiami去检测下你码完的代码

Android代码码完,开发完Android App,用Safe.ijiami可以检测出代码存在的漏洞,1分钟完事,不耽误你码下1批代码。最重要的是它还会根据你的漏洞提出解决方案,省去你去1个又1个代码的扒拉!

4、缓冲属性调用Cache Field Lookups

访问对象属性要比访问本地变量慢很多。你不应当这样写你的代码:

for (int i = 0; i < this.mCount; i++)

dumpItem(this.mItems[i]);

而是应当这样写:

int count = this.mCount;

Item[] items = this.mItems;

for (int i = 0; i < count; i++)

dumpItems(items[i]);

(我们直接使用“this”表明这些是它的成员变量)

5、声明Final常量

我们可以看看下面1个类顶部的声明:

static int intVal = 42;

static String strVal = “Hello, world!”;

当1个类第1次使用时,编译器会调用1个类初始化方法,这个方法将42存入变量intVal,并且为strVal在类文件字符串常量表中提取1个援用,当这些值在后面援用时,就会直接属性调用。

我们可以用关键字“final”来改进代码:

static final int intVal = 42;

static final String strVal = “Hello, world!”;

这个类将不会调用类初始化方法,由于这些常量直接写入了类文件静态属性初始化中,这个初始化直接由虚拟机来处理。代码访问intVal将会使用Integer类型的42,访问strVal将使用相对节省的“字符串常量”来替换1个属性调用。

将1个类或方法声明为“final”其实不会带来任何的履行上的好处,它能够进行1定的最优化处理。例如,如果编译器知道1个Get方法不能被子类重载,那末它就把该函数设置成Inline。

6、避免浮点类型的使用

嵌入式的处理器通常其实不支持浮点数的处理,因此所有的“float”和“double”操作都是通过软件进行的,1些基本的浮点数的操作就需要花费毫秒级的时间。

同理,即便是整数,1些芯片也只有乘法而没有除法。在这些情况下,整数的除法和取模操作都是通过软件实现。

7、避免罗列类型Avoid Enums

罗列类型非常好用,当斟酌到尺寸和速度的时候,就会显得代价很高,例如:

public class Foo {

public enum Shrubbery { GROUND, CRAWLING, HANGING }

}

这会转变成为1个900字节的class文件(Foo$Shrubbery.class)。第1次使用时,类的初始化要在独享上面调用方法去描写罗列的每项,每个对象都要有它本身的静态空间,全部被贮存在1个数组里面(1个叫做“$VALUE”的静态数组)。那是1大堆的代码和数据,而仅仅是为了3个整数值。

Shrubbery shrub = Shrubbery.GROUND;

这会引发1个静态属性的调用,如果GROUND是1个静态的Final变量,编译器会把它当作1个常数嵌套在代码里面。

上一篇:2018年开始学android开发,会不会太晚?
下一篇:如何使用android studio插件提高效率 ?

IOS APP开发怎么入门?

Android应用在应用宝上线流程以及注意事项

如何更好地开发一个Android应用?

学android培训需要java基础吗?

选择城市和中心
贵州省

广西省

海南省