时间是很宝贵的东西,在编写Android代码的时候尽可能的编写出高效的Android代码可以节省你很多的时间,让你有时间去泡妞、去陪女朋友、去陪基友,去吃饭、去娱乐、去睡觉!毕竟,谁都不想整夜整夜的加班,然后还乱吼:时间都去哪了?!下面就整理了怎样提高效率,编写高效的Android代码!看到这,偷笑了吧,表掩饰,我已看到!
对于如何判断一个系统的不合理,这里有两个基本的原则:
一、不要做不必要做的事情。
二、尽可能的节省内存的使用。
下面是常用的几点优化建议:
1、尽可能避免创建对象(Object)
因为对象的创建并不是没有代价的,如果你在一个用户界面的循环中分配一个对象,你不得不强制的进行内存回收,那么就会使用户体验出现稍微“打嗝”的现象。
当从原始的输入数据中提取字符串时,试着从原始字符串返回一个子字符串,而不是创建一份拷贝。
2、使用自身方法(Use Native Methods)
当处理字符串的时候,不要犹豫,尽可能多的使用诸如String.indexOf()、String.lastIndexOf()这样对象自身带有的方法。因为这些方法使用C/C++来实现的,要比在一个java循环中做同样的事情快10-100倍。
3、使用Safe.ijiami去检测下你码完的代码
Android代码码完,开发完Android App,用Safe.ijiami可以检测出代码存在的漏洞,一分钟完事,不耽误你码下一批代码。最重要的是它还会根据你的漏洞提出解决方案,省去你去一个又一个代码的扒拉!
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常量
我们可以看看下面一个类顶部的声明:
static int intVal = 42;
static String strVal = “Hello, world!”;
当一个类第一次使用时,编译器会调用一个类初始化方法,这个方法将42存入变量intVal,并且为strVal在类文件字符串常量表中提取一个引用,当这些值在后面引用时,就会直接属性调用。
我们可以用关键字“final”来改进代码:
static final int intVal = 42;
static final String strVal = “Hello, world!”;
这个类将不会调用类初始化方法,因为这些常量直接写入了类文件静态属性初始化中,这个初始化直接由虚拟机来处理。代码访问intVal将会使用Integer类型的42,访问strVal将使用相对节省的“字符串常量”来替代一个属性调用。
将一个类或者方法声明为“final”并不会带来任何的执行上的好处,它能够进行一定的最优化处理。例如,如果编译器知道一个Get方法不能被子类重载,那么它就把该函数设置成Inline。
6、避免浮点类型的使用
嵌入式的处理器通常并不支持浮点数的处理,因此所有的“float”和“double”操作都是通过软件进行的,一些基本的浮点数的操作就需要花费毫秒级的时间。
同理,即使是整数,一些芯片也只有乘法而没有除法。在这些情况下,整数的除法和取模操作都是通过软件实现。
7、避免列举类型Avoid Enums
列举类型非常好用,当考虑到尺寸和速度的时候,就会显得代价很高,例如:
public class Foo {
public enum Shrubbery { GROUND, CRAWLING, HANGING }
}
这会转变成为一个900字节的class文件(Foo$Shrubbery.class)。第一次使用时,类的初始化要在独享上面调用方法去描述列举的每一项,每一个对象都要有它自身的静态空间,整个被储存在一个数组里面(一个叫做“$VALUE”的静态数组)。那是一大堆的代码和数据,而仅仅是为了三个整数值。
Shrubbery shrub = Shrubbery.GROUND;
这会引起一个静态属性的调用,如果GROUND是一个静态的Final变量,编译器会把它当做一个常数嵌套在代码里面。
相关推荐
本文将基于提供的文件内容,深入探讨几个关键点,帮助开发者掌握编写高效Android代码的核心技巧。 #### 一、资源统计原则 在开始讨论具体的优化方法之前,我们需要明确一个基本原则:**资源统计原则**。这指的是在...
以下是一些关于如何编写高效Android代码的重要知识点: 1. **理解Android生命周期**:理解Activity、Service、BroadcastReceiver等组件的生命周期是优化代码的基础。开发者应避免在不必要时保持组件活跃,如过度...
在Android开发中,编写高效的代码是提升应用性能和用户体验的关键。本教程将深入探讨如何在Android平台上实现这一...《高效的Android代码》这份资料将详细讲解以上内容,帮助你成为一位精通Android高效编码的开发者。
在IT领域,尤其是针对Android平台的开发,编写高效代码是确保应用程序性能的关键。本文将深入探讨高效代码编写的核心原则与实践技巧,帮助开发者优化程序,提升用户体验。 #### 引言 Android设备作为高性能的...
在编码实践中,Android Studio作为集成开发环境(IDE)提供了丰富的工具支持,包括代码自动完成、调试器和模拟器等,帮助开发者高效地编写和测试代码。 总之,“Android记事本程序代码”项目涵盖了Android应用开发...
看过后受益匪浅,知道大神和菜鸟的区别了,值得大力推荐,好好学习吧
首先,Android源代码是用Java和C/C++编写的,包含了操作系统内核、运行库层、应用程序框架以及预装的应用程序。了解源代码可以帮助开发者深入理解Android系统的工作原理,从而更好地调试、优化和定制系统。 1. **...
通过正确导入源代码到Eclipse,配合详细的文档和讲解,开发者可以更好地理解Android的工作原理,从而编写出更高效、更稳定的应用程序。同时,这也为定制和优化Android系统提供了可能,无论是对于个人开发者还是企业...
在Android开发中,"代码艺术"指的是编写优雅、高效的代码,它包括了良好的编程习惯、设计模式的应用、性能优化以及错误处理等多方面内容。以下是一些关键的知识点: 1. **编程基础**:掌握Java或Kotlin语言,这是...
首先,我们要明白Android应用主要由Java语言编写,因此“java”标签的出现表明源代码是基于Java的。在Android开发中,Java代码通常会被编译成Dalvik字节码(DEX文件),然后运行在Android虚拟机(Dalvik或ART)上。...
熟悉并掌握这些库的使用,可以提高开发效率,使代码更加简洁高效。 三、小程序设计原则 1. 简洁性:小程序应尽可能保持轻量化,避免包含不必要的功能,以确保快速加载和流畅运行。 2. 用户友好:良好的用户界面设计...
源代码分析还涉及到实际的开发技巧,例如如何优化UI性能,如何使用调试工具进行问题定位,以及如何编写高效、可维护的代码。这对于提升开发者技能和解决实际问题非常有帮助。 八、安全与隐私 Android源代码分析还...
《Android常用代码大全及入门电子书》是一本深入浅出的Android编程指南,它涵盖了从初学者到进阶开发者所需的各种代码示例和实践知识。这本书的目的是帮助读者快速掌握Android开发的基础,并提供一系列实用的代码...
本项目提供了实现这一目标的源码,让我们深入探讨一下这个仿新浪微博界面的Android代码所涵盖的关键知识点。 首先,我们关注的是"Android"本身。Android是一个开源的操作系统,主要用于智能手机和平板电脑,由...
这个名为"Android代码库"的资源集合,源自中软国际的培训课程,由陈老师亲自编写,旨在帮助开发者深入理解并熟练运用Android平台上的各种组件。以下是对这些知识点的详细阐述: 1. **Activity(活动)**:Activity...
总的来说,"Android五子棋(代码报告完整)"项目提供了一个全面了解Android应用开发的实例,从界面设计到逻辑实现,再到文档编写,覆盖了开发流程的各个环节。通过这个项目,学习者可以深化对Android编程的理解,...