论坛首页 移动开发技术论坛

讨论:编写高效的Android代码

浏览 6095 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-01-05  
最近看了这篇文章,je上搜了下还好几篇博客。
编写高效的Android代码:http://lcs353732057.iteye.com/blog/458511

避免建立对象
使用本地方法
使用实类比接口好
用静态方法比虚方法好         // 难道要直接用面向过程的方法实现
不用getter和setter           // 封装性也不管了
将成员变量缓存到本地
避免使用枚举
....
避免使用浮点数               // 不精确也不管?


真的要这么斤斤计较吗? 个人认为真的没有必要,大家说呢
   发表时间:2010-01-05  
跟应用有关,对性能要求高的,或者计算量大的,就完全有必要。毕竟只是1G以下的CPU,可比不得我们的PC。
0 请登录后投票
   发表时间:2010-01-05  
这种差异只有在大量的创建对象或调用时才会显现出来。创建几十个对象都不会有感觉,但有几百上千个对象时就能感觉到拖慢了,手机资源毕竟有限。
0 请登录后投票
   发表时间:2010-01-06  
凡是一个度而已。
0 请登录后投票
   发表时间:2010-01-06  
Android跑在G1上的速度实在是让我崩溃,感觉上还不如我的E61,看来需要更强悍的硬件支持,或者JVM需要更多的优化。Java刚出来的时候不也有类似恶心的Guide :)
0 请登录后投票
   发表时间:2010-01-06  
稻-草 写道
最近看了这篇文章,je上搜了下还好几篇博客。
编写高效的Android代码:http://lcs353732057.iteye.com/blog/458511

避免建立对象
使用本地方法
使用实类比接口好
用静态方法比虚方法好         // 难道要直接用面向过程的方法实现
不用getter和setter           // 封装性也不管了
将成员变量缓存到本地
避免使用枚举
....
避免使用浮点数               // 不精确也不管?


真的要这么斤斤计较吗? 个人认为真的没有必要,大家说呢



Google的技术文档有一套"better not do"的事情,大概遵守那个标准就应该可以了。
何况,程序也不是一下子就要考虑那么多的申请。
我偏向于Martin大师的那种方法,凡是有功能完成就应该交付用户使用,其他的功能
在后期慢慢加上去。然后在反馈中在不断修改。
当然,android上面想做升级也不是那么容易的,毕竟要考虑用户的感受。
所以,我想还是退出一个beta版免费,然后在考虑以上的效率和规则,发放收费的pro版。
0 请登录后投票
   发表时间:2010-01-06  
BarryWei 写道
稻-草 写道
最近看了这篇文章,je上搜了下还好几篇博客。
编写高效的Android代码:http://lcs353732057.iteye.com/blog/458511

避免建立对象
使用本地方法
使用实类比接口好
用静态方法比虚方法好         // 难道要直接用面向过程的方法实现
不用getter和setter           // 封装性也不管了
将成员变量缓存到本地
避免使用枚举
....
避免使用浮点数               // 不精确也不管?


真的要这么斤斤计较吗? 个人认为真的没有必要,大家说呢



Google的技术文档有一套"better not do"的事情,大概遵守那个标准就应该可以了。
何况,程序也不是一下子就要考虑那么多的申请。
我偏向于Martin大师的那种方法,凡是有功能完成就应该交付用户使用,其他的功能
在后期慢慢加上去。然后在反馈中在不断修改。
当然,android上面想做升级也不是那么容易的,毕竟要考虑用户的感受。
所以,我想还是退出一个beta版免费,然后在考虑以上的效率和规则,发放收费的pro版。


免费版那么慢,有几个还会买收费版。
0 请登录后投票
   发表时间:2010-01-07  
我个人觉得,就是减少GC、多态、栈的大小所有带来的性能消耗。
0 请登录后投票
   发表时间:2010-01-07  
没那多条条框框吧,我记得的有一条是尽量把类放到一个java文件中,google io上面有专门讲性能问题的,youku上面搜搜看。

float多半是因为arm平台对这种指令支持不多,一般用double就足够了
0 请登录后投票
   发表时间:2010-01-07  
尽量少使用匿名类,同时也要尽量减少类的数量。
0 请登录后投票
论坛首页 移动开发技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics