- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
关于代码优化
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循环第二个参数中使用方法调用10、不修改的static变量请用static final常量代替11、foreach可以用来处理数组和arraylist,如果处理其他对象相当于Iterator12、避免使用枚举,请使用常量代替13、慎用浮点数 float尤其是大量的数学运算14、不使用的引用变量要手动置null,提高内存被回收的几率15、慎用图片操作,使用后要立即释放资源以上建议大家在写代码的时候可以参考一下,有些是应该当成习惯保持的,如果你已经做到这些并都养成了习惯的话,请记住不要试图去做任何优化,相信你的编译器吧,剩下的都交给它了。 对于一些Android项目,影响性能瓶颈的主要是Android自己内存管理机制问题,目前手机厂商对RAM都比较吝啬,对于软件的流畅性来说RAM对性能的影响十分敏感,除了 优化Dalvik虚拟机的堆内存分配外,我们还可以强制定义自己软件的对内存大小,我们使用Dalvik提供的 dalvik.system.VMRuntime类来设置最小堆内存为例:
1
private final static int CWJ_HEAP_SIZE = 6* 1024* 1024 ;
2
3
VMRuntime.getRuntime().setMinimumHeapSize(CWJ_HEAP_SIZE);
4
//设置最小heap内存为6MB大小。当然对于内存吃紧来说还可以通过手动干涉GC去处理
bitmap 设置图片尺寸,避免 内存溢出 OutOfMemoryError的优化方法
★android 中用bitmap 时很容易内存溢出,报如下错误:Java.lang.OutOfMemoryError : bitmap size exceeds VM budget
● 主要是加上这段:
1
BitmapFactory.Options options = new BitmapFactory.Options();
2
options.inSampleSize = 2;
● eg1:(通过Uri取图片)
1
private ImageView preview;
2
BitmapFactory.Options options = new BitmapFactory.Options();
3
options.inSampleSize = 2;
4
//图片宽高都为原来的二分之一,即图片为原来的四分之一
5
Bitmap bitmap = BitmapFactory.decodeStream(cr
6
.openInputStream(uri), null, options);
7
preview.setImageBitmap(bitmap);
以上代码可以优化内存溢出,但它只是改变图片大小,并不能彻底解决内存溢出。
● eg2:(通过路径去图片)
1
private ImageView preview;
2
private String fileName= /sdcard/DCIM/Camera/2010-05-14 16.01.44.jpg;
3
BitmapFactory.Options options = new BitmapFactory.Options();
4
options.inSampleSize = 2;//图片宽高都为原来的二分之一,即图片为原来的四分之一
5
Bitmap b
您可能关注的文档
- 分布式课后习题答案.doc
- 信号临界采样、过采样、欠采样实验报告.doc
- 2013秋浙江大学生产运营管理作业必做在线.doc
- 氧化还原滴定法学习要点.doc
- 水质监测方法汇总.doc
- 物理学悖论的产生、逻辑重构及其研究意义.doc
- 2006分析化学试卷1.doc
- 低浓度CODcr测定的影响因素及误差分析.doc
- 2014湖北八校第二次联考化学试题及答案.doc
- 第十二章 氧化还原滴定法(265—286).doc
- 2025至2030年中国门禁控制器行业市场行情监测及发展趋向研判报告.docx
- 2025至2030年中国门窗密封条行业市场发展规模及投资机会分析报告.docx
- 2025至2030年中国隔热材料行业市场现状调查及发展潜力研判报告.docx
- 高端婚礼秀主持词的精编范例(精彩8篇).docx
- 2025至2030年中国金融机具配套软件行业市场运行格局及未来趋势研判报告.docx
- 2025至2030年中国钠钙玻璃行业市场竞争态势及投资趋势研判报告.docx
- 2025至2030年中国酿酒设备行业市场运行态势及发展前景研判报告.docx
- 2025至2030年中国间位芳纶(MPIA)行业市场全景评估及发展前景研判报告.docx
- 2025至2030年中国防寒安全帽行业市场经营管理及未来前景展望报告.docx
- 2025至2030年中国防护口罩行业市场深度分析及投资方向研究报告.docx
文档评论(0)