已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Android高效编程指南 2010年03月 两个基本的原则 不要做不必要做的事情尽可能的节省内存的使用 尽可能避免创建对象1 AvoidCreatingObjects 越少的对象创建意味着越少的垃圾回收 这会提高你程序的用户体验质量 例子 尽量少创建没用的临时变量 尽可能避免创建对象2 AvoidCreatingObjects 尽量使用一维数组代替多维数组 将多维数组分割成几个平行的一维数组 如 两个平行的Foo 和Bar 要比一个 Foo Bar 对象数组的效率高得多 使用原生方法 UseNativeMethods 尽量使用对象自身带有的接口方法 因为这些方法有些是使用C编写的 比自己用Java编写的效率高 如String indexOf String lastIndexOf 使用实现优于使用接口 PreferVirtualOverInterface 1 MapmyMap1 newHashMap 常规编程2 HashMapmyMap2 newHashMap 嵌入式编程接口方法的调用比实现类方法的调用会花费2倍以上的时间 多使用接口的具体实现类 使用静态优于使用虚拟 PreferStaticOverVirtual 给方法加上static 如果你没有必要去访问实例 对象 的变量 那么使你的方法成为静态方法 它会被更快的调用 因为它不需要一个虚拟函数导向表 给属性加上static 如果您的变量不需要被每个实例 对象 分享 那么使你的属性成为静态属性 它会被更快的调用 因为JVM只为静态分配一次内存 而非静态变量 每创建一个实例时 JVM就为非静态变量分配一次内存 内在避免使用Get Set方法 AvoidInternalGetters Setters 外部调用时使用Get和Set函数 但是在内部调用时 我们应该直接调用 虚方法的调用比实例属性查询的代价还要多 缓冲对象属性调用 CacheFieldLookups 访问对象属性要比访问本地变量慢得多 不要这样写 for inti 0 i this mCount i dumpItem this mItems i 应该这样写 intcount this mCount Item items this mItems for inti 0 i count i dumpItems items i 声明Final常量 DeclareConstantsFinal staticintintVal 42 staticStringstrVal Hello world 当类被创建时 编译器会调用一个类初始化方法 这个方法会对intVal和strVal进行初始化处理 可以写成如下 staticfinalintintVal 42 staticfinalStringstrVal Hello world 初始化是由虚拟机来处理的 所以类的创建将更快 慎重使用增强型For循环语句 UseEnhancedForLoopSyntaxWithCaution 增强的for循环在数组里面性能很好 但是当和Iterable对象一起使用时要谨慎 因为这里多了一个对象的创建 避免使用枚举 AvoidEnums publicclassFoo publicenumShrubbery GROUND CRAWLING HANGING 这会转变成为一个900字节的class文件 Foo Shrubbery class 第一次使用时 类的初始化要在独享上面调用方法去描述列举的每一项 每一个对象都要有它自身的静态空间 整个被储存在一个数组里面 一个叫做 VALUE 的静态数组 那是一大堆的代码和数据 仅仅是为了三个整数值 代价很高 通过内联类使用包空间 UsePackageScopewithInnerClasses 建议使用内部类 避免浮点类型的使用 AvoidFloat 尽量避免使用float类型
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 测评流程标准化操作手册制定
- 2025年工会知识竞赛题库和参考答案
- 2025年劳务员岗位技能考试试题库及答案
- 2025年下半年嘉兴市中心血站招考合同工易考易错模拟试题(共500题)试卷后附参考答案
- 2025设备借款协议杰出范本
- 2025年下半年吉林辽源市卫健委招聘事业单位专业技术人员16人易考易错模拟试题(共500题)试卷后附参考答案
- 2025年下半年吉林省直事业单位招聘28人(13号)易考易错模拟试题(共500题)试卷后附参考答案
- 2025年下半年吉林市事业单位招考工作人员(3号)易考易错模拟试题(共500题)试卷后附参考答案
- 2025年下半年台州市临海市人力资源和社会保障局招考编外合同制人员易考易错模拟试题(共500题)试卷后附参考答案
- 2025年下半年厦门市外事翻译护照签证中心招考易考易错模拟试题(共500题)试卷后附参考答案
- 2025《煤矿安全规程》新旧对照专题培训
- 劳模精神教育
- 糖尿病健康教育手册
- 桥梁养护工程师培训课件
- 2024-2025学年山东省济南市章丘区七年级上学期期中生物试卷
- 乡村学生手机管理制度
- 第三单元写作《如何突出中心》课件 2024-2025学年统编版语文七年级上册
- 2025年c证安全员试题及答案
- 商事调解中心管理制度
- 合伙买泵车协议书
- 广东省深圳市2024-2025学年高三英语上学期9月月考试题
评论
0/150
提交评论