1.Java内存控制 对于字符串操作而言如果需要连加这样的操作建议使用StringBuilder,经过调试不难发现如果你的字符串每次连加,使用String需要的内存开销会远大于StringBuilder,然后Android手机常规的运行内存大约在MB左右,对于运行多任务就需要考虑了,Android开发网提示因为Java有GC不需要手动释放那么分配的时候就要外的小心,频繁的GC操作仍然是很影响性能的,在调试时我们可以通过logcat查看内存释放情况。 2.循环使用 平时在访问一个属性的时候效率远比一个固定变量低,如果你的循环估计次数常常大于5,假设xxx.GetLength()方法的一般大于5,推荐这样写,比如 for(int i=0;i<xxx.GetLength();i) 这里xxx.GetLength在每次循环都要调用,必然会影响程序效率,在游戏开发中显得更为明显,改进的方法应该为 int j=xxx.GetLength() for(int i=0;i<j;i) 3.图片的优化 在Android平台中2维图像处理库BitmapFactory做的比较智能,为了减少文件体积和效率,常常不用很多资源文件,而把很多小图片放在一个图片中,有切片的方式来完成,在J2ME中我们这样是为了将少文件头而解决MIDP这些设备的问题,而Android中虽然机型硬件配置都比较高,有关Android G1硬件配置可以参考G1手机参数以及评测,但是当资源多时这样的运行效率还是令人满意的,至少Dalvik优化的还不是很够。Android代码优化的核心原则:不做不必要的事,不分配不必要的内存1、字符串频繁操作时,多用StringBuffer而少用String2、尽量使用本地变量,即反复使用的变量要先保存成临时或局部变量,尤其是循环中使用的变量3、String方法中substring和indexOf都是native方法可以大量的使用4、如果函数返回String类型,而且返回后的使用就是要加入到StringBuffer此时可以直接传入StringBuffer5、用两个一维数组代替二维数组 int[][]=====int[] int[]6、如果返回直接类型足够了,就不应返回接口类型如假如返回Hashmap就足够了,请不要返回Map7、如果一个方法不访问(不修改)成员变量,请用static方法8、尽量不用getters和setters,如果你非要用的话请加上final关键字,编译器会把它当成内联函数9、永远不要在for循环第二个参数中使用方法调用、不修改的static变量请用static final常量代替、foreach可以用来处理数组和arraylist,如果处理其他对象相当于Iterator、避免使用枚举,请使用常量代替、慎用浮点数 float尤其是大量的数学运算、不使用的引用变量要手动置null,提高内存被回收的几率、慎用图片操作,使用后要立即释放资源
推荐整理分享[置顶]
android 性能优化([置顶]马粥街残酷史),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:[置顶]星陨计划,[置顶]从lv2开始开挂的原勇者候悠闲的异世界生活,[置顶]游戏名 TentacleLocker,[置顶]bilinovel,[置顶]电影名字《收件人不详》,[置顶]电影名字《收件人不详》,[置顶]JM259194,[置顶]bilinovel,内容如对您有帮助,希望把文章链接给更多的朋友!
Android文件图片上传的详细讲解(一)HTTP multipart/form-data 上传报文格式实现手机端上传GOOD 转自:
json与gson互转 json与gson互转导入gson.jarbean:publicclassPerson{privateStringname;privateintage;/***@returnthename*/publicStringgetName(){returnname;}/***@paramname*thenametoset*/publicvoidsetName(Stringname){t
android环境搭建 简单的记录一下自己搭建android环境的过程,以供各位同仁参考:1.安装javajdk,按照网上教程(java1.8_版本)。2.下载eclipse,下载(javaeeide版本),解压即