当前位置:  开发笔记 > 程序员 > 正文

登录J2ME

如何解决《登录J2ME》经验,为你挑选了3个好方法。

j2me有哪些记录解决方案?

我特别感兴趣的是轻松排除"发布"版本的日志记录,以获得更小的封装和内存占用.



1> darius..:

MicroLog肯定会打赌.它是一个像Log4j这样的Java ME(J2ME)的小型日志库.它支持记录到控制台,文件,RecordStore,Canvas,Form,蓝牙,串行端口(蓝牙,IR,USB),套接字(包括SSL),UDP,Syslog,MMS,SMS,电子邮件或Amazon S3 .

http://sourceforge.net/projects/microlog/



2> JaanusSiim..:

如果您正在使用Proguard进行预处理和混淆,那么您可以拥有一个简单的日志记录类.

public class Log {
  public static void debug(final String message) {
    //#if !release.build
    System.out.println(message);
    //#endif
  }
}

或者根据需要进行日志记录.现在,如果将release.build属性设置为true,则将注释掉此代码,这将导致一个空方法.Proguard将删除所有空方法的用法 - 实际上,release build将删除所有调试消息.

编辑:

在库级别上考虑它(我正在研究J2ME库的映射)我可能找到了一个更好的解决方案.

public class Log {
  private static boolean showDebug;

  public static void debug(final String message) {
    if (showDebug) {
      System.out.println(message);
    }
  }

  public static void setShowDebug(final boolean show) {
    showDebug = show;
  }
}

这样,最终开发人员可以在他/她感兴趣的库中启用日志级别.如果不启用任何内容,则将在最终产品模糊处理中删除所有日志记录代码.甜蜜的:)

/ JaanusSiim



3> 小智..:

您可以在proguard中使用-assumenosideaffects来完成删除日志记录类:

-assumenosideeffects public class logger.Logger {*;}

而不是必须预处理.

推荐阅读
mobiledu2402851203
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有