- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* All Rights Reserved, Copyright ?FFCS 2008 福建富士通信息软件有限公司(FFCS) Fujian Fujitsu Communication Software Co., Ltd. * All Rights Reserved, Copyright ?FFCS 2008 福建富士通信息软件有限公司(FFCS) Fujian Fujitsu Communication Software Co., Ltd. * All Rights Reserved, Copyright ?FFCS 2008 福建富士通信息软件有限公司(FFCS) Fujian Fujitsu Communication Software Co., Ltd. * Android高效编程指南 精品文档 两个基本的原则 不要做不必要做的事情 尽可能的节省内存的使用 精品文档 尽可能避免创建对象1(Avoid Creating Objects) 越少的对象创建意味着越少的垃圾回收,这会提高你程序的用户体验质量。 例子: 尽量少创建没用的临时变量: 精品文档 尽可能避免创建对象2(Avoid Creating Objects) 尽量使用一维数组代替多维数组(将多维数组分割成几个平行的一维数组): 如:两个平行的Foo[]和Bar[]要比一个(Foo,Bar)对象数组的效率高得多 精品文档 使用原生方法(Use Native Methods) 尽量使用对象自身带有的接口方法,因为这些方法有些是使用C编写的,比自己用Java编写的效率高。 如String.indexOf()、String.lastIndexOf() 精品文档 使用实现优于使用接口(Prefer Virtual Over Interface) 1、Map myMap1 = new HashMap();//常规编程 2、HashMap myMap2 = new HashMap();//嵌入式编程 接口方法的调用比实现类方法的调用会花费2倍以上的时间。 多使用接口的具体实现类。 精品文档 使用静态优于使用虚拟(Prefer Static Over Virtual) 给方法加上static: 如果你没有必要去访问实例(对象)的变量,那么使你的方法成为静态方法。它会被更快的调用,因为它不需要一个虚拟函数导向表。 给属性加上static: 如果您的变量不需要被每个实例(对象)分享,那么使你的属性成为静态属性。它会被更快的调用,因为JVM只为静态分配一次内存,而非静态变量,每创建一个实例时, JVM就为非静态变量分配一次内存)。 精品文档 内在避免使用Get/Set方法(Avoid Internal Getters/Setters) 外部调用时使用Get和Set函数,但是在内部调用时,我们应该直接调用。虚方法的调用比实例属性查询的代价还要多。 精品文档 缓冲对象属性调用(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]); 精品文档 声明Final常量(Declare Constants Final) static int intVal = 42; static String strVal = Hello, world!; 当类被创建时,编译器会调用一个类初始化方法——clinit,这个方法会对intVal和strVal进行初始化处理。 可以写成如下: static final int intVal = 42; static final String strVal = Hello, world!; 初始化是由虚拟机来处理的,所以类的创建将更快。 精品文档 慎重使用增强型For循环语句(Use Enhanced For Loop Syntax With Caution) 增强的for循环在数组里面性能很好,但是当和Iterable对象一起使用时要谨慎,因为这里多了一个对象的创建。 精品文档 * All Rights Reserved, Copyright ?FFCS 2008 福建富士通
文档评论(0)