最近总结了一些,Android应用开发中,需要注意的一些事项,与大家分享
 
 
1.尽量少的声明全局变量
 
2.声明全局静态变量,一定要加final声明
 
3.声明非静态的全局变量,最好不要初始化任何值,在使用到的地方,在进行初始化
 
4.函数中若干次使用全局变量,应该将全局变量赋值给本地变量,然后直接使用本地变量
 
5.能用Int,不要使用浮点数 
 
6.能用乘法不用除法
 
7.尽量避免使用geter和setter方法
 
8.在Activity的onCreate函数中,尽量做少的事。
 
9.在Activity中声明的静态数组或者静态代码块,重构到单独的一个类里。
 
10.布局文件要尽可能的优化,减少布局的解析时间 。 尽量减少布局的嵌套层次
 
11.Activity启动后开始进行异步线程的加载,最好delay一下。再开启线程
 
12.对于存在于集合中的Bean对象,尽可能少的声明变量。能用int 就不要用long.声明的string等复杂变量,最好不要进行初始化。
 
13.使用线程,一定要给它传一个名字,然后需要定义线程的优先级
 
14.在使用集合的时候,优先选择SparseArray。
 
15.尽量避免使用枚举
 
16.工具方法尽量写成是静态方法
 
17.线程间同步尽量使用开销小的同步锁
 
18.在使用集合类的时候,如果已知数据的规模,在初始化的时候,就设定好默认大小。
 
19.私有内部类访问外部类的私有变量,要将变量修改为包继承权限
 
20.对于开销大的算法,且不止是执行一次的,要使用缓存策略
 
21.避免在绘制或者解析布局的时候,分配对象。例如onDraw方法
 
22.不要给布局写无用的参数,例如RelativeLayout,写layout_weight属性
 
23.尽量减少布局的嵌套层数。例如包含一个ImageView和TextView的线性布局,可以用CompoundDrawable的TextView来代替
 
24.尽量用Android提供的SparseArray来代替HashMap
 
25.如果LinearLayout用于嵌套的layout空间计算,它的android:baselineAligned设置为false,可以加速layout计算
 
26.用FloatMath代替Math
 
27.尽量避免嵌套的使用layout_weight,那样会影响执行效率
 
28.如果为rootView设置了背景,那么会先用Theme指定的背景绘制一遍,然后才用指定的背景绘制,这叫做"overdraw",可以通过theme的background为null来避免
 
29.不要有无用的任何资源或者文件
 
摘自:http://blog.csdn.net/litton_van/article/details/21956859

(装)Android高性能编程基本规范的更多相关文章

  1. (转)Android高性能编程(1)--基础篇

    关于专题     本专题将深入研究Android的高性能编程方面,其中涉及到的内容会有Android内存优化,算法优化,Android的界面优化,Android指令级优化,以及Android应用内存占 ...

  2. (转)Android高性能编程(2)--延迟初始化

    上一篇文章,讲到了很多Android应用开发中需要注意的性能和内存方面的技巧.这一篇文章就是从smali指令级来分析性能优化和内存优化的问题. 如何解决界面启动时间开销大的问题 我们在编写Androi ...

  3. Android_编程开发规范

     Android编程开发规范         原文地址 http://www.jianshu.com/p/9b8aeca9b281 一.约定 Activity.onCreate(),Fragment. ...

  4. [Learn Android Studio 汉化教程]第三章:使用 Android Studio 编程

    [Learn Android Studio 汉化教程]第三章:使用 Android Studio 编程 本章包含如何在 Android Studio 中书写或生成代码. Android Studio ...

  5. Android网络编程概述

    Android网络编程概述 首先,应该了解的几个问题: 1)Android平台网络相关API接口 a) java.net.*(标准Java接口) java.net.*提供与联网有关的类,包括流.数据包 ...

  6. Netty高性能编程备忘录(上)

    http://calvin1978.blogcn.com/articles/netty-performance.html 网上赞扬Netty高性能的文章不要太多,但如何利用Netty写出高性能网络应用 ...

  7. Android开发之——编码规范

    1. 前言 这份文档参考了 Google Java 编程风格规范和 Google 官方 Android 编码风格规范.该文档仅供参考,只要形成一个统一的风格,见量知其意就可. 2. 源文件基础 2.1 ...

  8. Qt on Android 核心编程

    Qt on Android 核心编程(最好看的Qt编程书!CSDN博主foruok倾力奉献!) 安晓辉 著   ISBN 978-7-121-24457-5 2015年1月出版 定价:65.00元 4 ...

  9. [问题解决]《GPU高性能编程CUDA实战》中第4章Julia实例“显示器驱动已停止响应,并且已恢复”问题的解决方法

    以下问题的出现及解决都基于"WIN7+CUDA7.5". 问题描述:当我编译运行<GPU高性能编程CUDA实战>中第4章所给Julia实例代码时,出现了显示器闪动的现象 ...

随机推荐

  1. Maven的简介

    1 What? 1.1 Maven 简介Maven 是 Apache 软件基金会组织维护的一款自动化构建工具,专注服务于 Java 平台的项目构建和依赖管理.Maven 这个单词的本意是:专家,内行. ...

  2. cnetos升级内核玩docker

    最近在学习docker容器.在阿里云上的服务器内核版本比较低.所以,需要先升级. 查看内核命令:uname -r 升级内核,网上也有很多种方式.一般都是下载内核包,然后自己编译.不过这种方式需要注意的 ...

  3. Mysql导出数据结构 or 数据

    如果我们单单只想导出mysql数据表结构,通过navcat工具还不行,这时我们可以用mysqldump工具 在mysql server的安装目录:C:\Program Files\MySQL\MySQ ...

  4. quartz(5)--作业管理和存储

    作业一旦被调度,调度器需要记住并且跟踪作业和它们的执行次数.如果你的作业是30分钟后或每30秒调用,这不是很有用.事实上,作业执行需要非常准确和即时调用在被调度作业上的execute()方法.Quar ...

  5. zip无法解压

    使用unzip解压,提示 [root@iZ28g3behi3Z html]# unzip /var/www/html/deyizhonggong.zipArchive:  /var/www/html/ ...

  6. LeetCode第[46]题(Java):Permutations(求所有全排列) 含扩展——第[47]题Permutations 2

    题目:求所有全排列 难度:Medium 题目内容: Given a collection of distinct integers, return all possible permutations. ...

  7. js 小复习2

    1.数组 findIndex()  indexOf() // findIndex()方法返回数组中满足提供的测试函数的第一个元素的索引.否则返回-1. function isBigEnough(ele ...

  8. SQL命令查询Oracle存储过程信息(代码内容等)

    SELECT * FROM ALL_SOURCE  where TYPE='PROCEDURE'  AND TEXT LIKE '%0997500%'; --查询ALL_SOURCE中,(脚本代码)内 ...

  9. mysql中的过滤分组

    本文节选自<MYSQL必知必会> 一. 过滤分组 除了能用GROUP BY分组数据外,MySQL还允许过滤分组,规定包括哪些分组,排除哪些分组.例如,可能想要列出至少有两个订单的所有顾客. ...

  10. Win10/Server2016镜像集成离线补丁

    Win10镜像集成离线补丁 因为正常安装系统后再打补丁比较漫长,可以事先做好打过补丁的iso,备将来使用. 以管理员身份运行cmd,然后通过dism提取.挂载.集成补丁.保存install.wim镜像 ...