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

少用System.out.println()

浏览 9273 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (2) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-07-11   最后修改:2009-07-26

        之前就知道System.out.println()会耗资源,今天测试了一下,在Canvas中一边画文字一边打印文字,共有5461个文字,平均用时是780ms左右,而把打印全部删除后,性能明显加快,平均用时只有140ms左右,看来在开发时尽可能少用System.out.println()。

 

开发RTSP的相关资料:

Experiments in Streaming Content in Java ME(1) http://fonter.iteye.com/blog/425372
Experiments in Streaming Content in Java ME(2) http://fonter.iteye.com/blog/425392
Experiments in Streaming Content in Java ME(3) http://fonter.iteye.com/blog/425427

 

 

keyRepeated和keyPressed处理 http://fonter.iteye.com/blog/433408
实现RTSP协议的简单例子 http://fonter.iteye.com/blog/423569
读取流最快方式 http://fonter.iteye.com/blog/422412
java简单解析docx、pptx、xlsx文档 http://fonter.iteye.com/blog/420319
Log4j在Java WebApp的配置 http://fonter.iteye.com/blog/418570
J2ME to android之学习笔记 http://fonter.iteye.com/blog/416112
安装Jar提示“jar文件无效”的另一个奇怪原因 http://fonter.iteye.com/blog/414188
J2ME代码认证证书的支持情况 http://fonter.iteye.com/blog/413357
S40平台播放多媒体时内存优化 http://fonter.iteye.com/blog/413022
SUN的J2ME源代码下载 http://fonter.iteye.com/blog/412094

 

   发表时间:2009-07-15  
呵呵,你发布出去的时候删掉那些print不就行了。
0 请登录后投票
   发表时间:2009-07-15   最后修改:2009-07-15
我的习惯是.弄一boolean常量.比如final boolean DEBUG = true;

if(DEBUG) System.out.println();

在发布release的时候.把DEBUG设为false.

然后亲爱的proguard就能帮我们把这些输出语句给混淆掉了..
0 请登录后投票
   发表时间:2009-07-18  
天字第一耗 写道
我的习惯是.弄一boolean常量.比如final boolean DEBUG = true;

if(DEBUG) System.out.println();

在发布release的时候.把DEBUG设为false.

然后亲爱的proguard就能帮我们把这些输出语句给混淆掉了..

看着很像vc的习惯啊
0 请登录后投票
   发表时间:2009-07-18  
看来log4j的普及还不够,还有人用System.out.print来调试
想要杜绝最好在项目中都使用log4j
0 请登录后投票
   发表时间:2009-07-18  
laodizhuq 写道
看来log4j的普及还不够,还有人用System.out.print来调试
想要杜绝最好在项目中都使用log4j


J2ME啊,要不是J2SE或J2EE
0 请登录后投票
   发表时间:2009-07-18  
向控制台输出内容确实很耗资源
0 请登录后投票
   发表时间:2009-07-19  
天字第一耗 写道
我的习惯是.弄一boolean常量.比如final boolean DEBUG = true;

if(DEBUG) System.out.println();

在发布release的时候.把DEBUG设为false.

然后亲爱的proguard就能帮我们把这些输出语句给混淆掉了..


1.代码复杂了
2.系统多了n个判断,也多少影响点性能吧
0 请登录后投票
   发表时间:2009-07-20   最后修改:2009-07-20
lujiawu12 写道
天字第一耗 写道
我的习惯是.弄一boolean常量.比如final boolean DEBUG = true;

if(DEBUG) System.out.println();

在发布release的时候.把DEBUG设为false.

然后亲爱的proguard就能帮我们把这些输出语句给混淆掉了..


1.代码复杂了
2.系统多了n个判断,也多少影响点性能吧


仅仅是在调试代码里面会有这些输出

release里面是没有的...因为proguard会认为它们是不可达代码.会混淆掉的

当然也可以用其他办法.比如借助Ant或者其他编译工具.让调试代码从我们的release里面消失得一干二净
0 请登录后投票
   发表时间:2009-07-20  
自己封装一个logger不行吗
0 请登录后投票
论坛首页 移动开发技术版

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