android性能调优
来源:互联网 发布:js及jq基础知识 编辑:程序博客网 时间:2024/05/09 04:03
一、资源方面
1、尽量使用存为web格式的png图片,可以大幅减少图片字节大小并保持效果不变,如有的png小图片都1-2M,其实优化之后十多K可以达到同样的显示效果。
2、小图片太多的话,可以拼到一张图上,然后clip要显示的部分
3、使用点9格式图片
4、使用proguard混淆,proguard在防止反编译的同时最大的作用就是大幅减少文件大小
5、能使用代码设置背景颜色的地方绝不使用颜色图片
二、布局方面
1、布局去掉没必要的嵌套layout,层次越多越耗性能,减少复杂度
2、在系统组件基础上自定义组件,提高复用效率
3、使用<include>标签共享布局,使用<merge>优化布局层次
4、listview优化,网上很多,不一一列举了
5、将背景设置为空,将Acitivity 中的Window 的背景图设置为空getWindow().setBackgroundDrawable(null);
三、代码方面
1、不等资源自动回收,把对象设置null,主动调用System.gc();
2、不必要的操作不要放到循环中,如实例化变量等
3、StringBuffer代替String进行字符串操作
4、多使用局部临时变量(栈内存),少使用静态变量实例变量(堆内存)
5、移位操作代替乘除操作
6、使用System.arraycopy()复制数组
7、为vector\hashtable定义初始大小
8、统一设置log打印的开关,正式发布时去掉Log输出
9、能用sharepreference的用sharepreference,否则用文件操作,最次用数据库,文件操作的速度比数据库的操作要快10倍左右
10、采用的数据类型、数据结构、算法是否可以调优,如二维数组占内存是一维数组的10倍,尽量不用浮点数、枚举类型,快速排序代替冒泡排序,二分查找代替线性查找有序数组,线性数据使用循环二叉树数据使用递归等。
11、http设置连接超时和响应超时,数据可以使用gzip压缩
12、finally中关闭流对象
13、使用httpurlconnection而不是用httpclient进行http网络连接
14、及时关闭cursor,不要过多进行打开关闭cursor操作
四、其他
1、使用traceview查看内存使用情况
2、使用hierarchy view查看布局是否可以优化
- Android性能调优
- Android性能调优
- Android性能调优
- Android性能调优
- Android性能调优
- Android性能调优
- Android性能调优
- ANDROID性能调优
- Android性能调优
- android性能调优
- Android性能调优
- Android性能调优
- Android性能调优
- Android性能调优
- Android性能调优
- Android性能调优
- Android 性能调优
- Android性能调优
- unsuppot device.. or gcc
- Lync Server 2013 VDI架构
- TI davinci 实验遇到的问题及解决(待续)
- android 现实 HTTP GET/POST
- Oracle 11gR2 rac 的各项服务说明
- android性能调优
- java服务器搭建(一)日志系统
- Building a tile server from packages
- Spring mvc (四)
- 深入了解android平台的jni---图像灰度化处理
- 关于Java中split方法对空字符串处理问题
- 同wifi环境下android设备自动获取socket服务端的ip地址和端口号的方法-UDP广播
- Android触摸事件与点击事件的区别
- iframe布局 详细用法 及缺点