`
wx1569632409
  • 浏览: 111760 次
文章分类
社区版块
存档分类
最新评论

如何编写高效的Android代码

 
阅读更多

       时间是很宝贵的东西,在编写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变量,编译器会把它当做一个常数嵌套在代码里面。

转载于:https://my.oschina.net/wwwwwqqq/blog/339723

分享到:
评论

相关推荐

    如何编写高效的ANDROID代码

    本文将基于提供的文件内容,深入探讨几个关键点,帮助开发者掌握编写高效Android代码的核心技巧。 #### 一、资源统计原则 在开始讨论具体的优化方法之前,我们需要明确一个基本原则:**资源统计原则**。这指的是在...

    编写高效的Android代码

    以下是一些关于如何编写高效Android代码的重要知识点: 1. **理解Android生命周期**:理解Activity、Service、BroadcastReceiver等组件的生命周期是优化代码的基础。开发者应避免在不必要时保持组件活跃,如过度...

    教你写高效的android代码

    在Android开发中,编写高效的代码是提升应用性能和用户体验的关键。本教程将深入探讨如何在Android平台上实现这一...《高效的Android代码》这份资料将详细讲解以上内容,帮助你成为一位精通Android高效编码的开发者。

    如何编写高效代码

    在IT领域,尤其是针对Android平台的开发,编写高效代码是确保应用程序性能的关键。本文将深入探讨高效代码编写的核心原则与实践技巧,帮助开发者优化程序,提升用户体验。 #### 引言 Android设备作为高性能的...

    Android记事本程序代码

    在编码实践中,Android Studio作为集成开发环境(IDE)提供了丰富的工具支持,包括代码自动完成、调试器和模拟器等,帮助开发者高效地编写和测试代码。 总之,“Android记事本程序代码”项目涵盖了Android应用开发...

    编写高效的android代码.pptx

    看过后受益匪浅,知道大神和菜鸟的区别了,值得大力推荐,好好学习吧

    Android 源代码

    首先,Android源代码是用Java和C/C++编写的,包含了操作系统内核、运行库层、应用程序框架以及预装的应用程序。了解源代码可以帮助开发者深入理解Android系统的工作原理,从而更好地调试、优化和定制系统。 1. **...

    android源代码讲解以及导入

    通过正确导入源代码到Eclipse,配合详细的文档和讲解,开发者可以更好地理解Android的工作原理,从而编写出更高效、更稳定的应用程序。同时,这也为定制和优化Android系统提供了可能,无论是对于个人开发者还是企业...

    android开发艺术代码

    在Android开发中,"代码艺术"指的是编写优雅、高效的代码,它包括了良好的编程习惯、设计模式的应用、性能优化以及错误处理等多方面内容。以下是一些关键的知识点: 1. **编程基础**:掌握Java或Kotlin语言,这是...

    捕鱼达人源代码安卓代码,android代码 游戏

    首先,我们要明白Android应用主要由Java语言编写,因此“java”标签的出现表明源代码是基于Java的。在Android开发中,Java代码通常会被编译成Dalvik字节码(DEX文件),然后运行在Android虚拟机(Dalvik或ART)上。...

    Android小程序源代码集合

    熟悉并掌握这些库的使用,可以提高开发效率,使代码更加简洁高效。 三、小程序设计原则 1. 简洁性:小程序应尽可能保持轻量化,避免包含不必要的功能,以确保快速加载和流畅运行。 2. 用户友好:良好的用户界面设计...

    android源代码分析电子书

    源代码分析还涉及到实际的开发技巧,例如如何优化UI性能,如何使用调试工具进行问题定位,以及如何编写高效、可维护的代码。这对于提升开发者技能和解决实际问题非常有帮助。 八、安全与隐私 Android源代码分析还...

    android常用代码大全及入门电子书

    《Android常用代码大全及入门电子书》是一本深入浅出的Android编程指南,它涵盖了从初学者到进阶开发者所需的各种代码示例和实践知识。这本书的目的是帮助读者快速掌握Android开发的基础,并提供一系列实用的代码...

    仿新浪微博界面的Android代码

    本项目提供了实现这一目标的源码,让我们深入探讨一下这个仿新浪微博界面的Android代码所涵盖的关键知识点。 首先,我们关注的是"Android"本身。Android是一个开源的操作系统,主要用于智能手机和平板电脑,由...

    Android代码库

    这个名为"Android代码库"的资源集合,源自中软国际的培训课程,由陈老师亲自编写,旨在帮助开发者深入理解并熟练运用Android平台上的各种组件。以下是对这些知识点的详细阐述: 1. **Activity(活动)**:Activity...

    Android五子棋(代码报告完整)

    总的来说,"Android五子棋(代码报告完整)"项目提供了一个全面了解Android应用开发的实例,从界面设计到逻辑实现,再到文档编写,覆盖了开发流程的各个环节。通过这个项目,学习者可以深化对Android编程的理解,...

Global site tag (gtag.js) - Google Analytics