首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在编译时删除某些Java类的使用?

如何在编译时删除某些Java类的使用?
EN

Stack Overflow用户
提问于 2018-09-19 05:39:39
回答 2查看 0关注 0票数 0

我正在寻找一种方法来在编译时删除特定类的所有用法,包括类本身。基本上是一种预处理形式,但我想这样做而不必用所有实例包围#ifdebug ... #endif。有没有任何基于蚂蚁的工具可以做到这一点?如果没有,有人能指出我如何编写这样一个工具的正确方向吗?(这不是我所知道的小事,但如果它是唯一的选择......)情况是我有一个帮助类来调试函数调用。这在函数的开头实例化,并在结束时进行调用。这是一个JavaME应用程序,所以我对这增加性能的开销感到紧张。我已经有一个发布和调试版本,它有使用ProGuard的预处理器指令,所以我想从发布版本中排除使用这个帮助器类。ProGuard似乎无法做到这一点。

EN

回答 2

Stack Overflow用户

发布于 2018-09-19 14:36:56

是否知道此调试代码会使JavaME应用程序变慢?还可以尝试创建一种有条件地调用这些调试方法的方法。还有一些想法...从来没有写过JavaME应用程序,但我认为有办法在实际设备上运行/测试。鉴于这种运行/测试方式,可以使用Eclipse / Netbeans来调试代码并使用正确的断点而不是以编程方式跟踪方法调用。在这种情况下,对编译代码没有损害。还要考虑使用AspectJ来跟踪方法调用,这可以在编译代码之后有条件地完成,因为AspectJ直接改变字节码(不确定它如何与JavaME一起使用)。最后,我听说有人在Java上使用标准的GNU C / C ++预处理器。我不知道它是否有效,谷歌会帮助你。

票数 0
EN

Stack Overflow用户

发布于 2018-09-19 14:46:03

“这在函数的开头实例化,最后调用。”

如果代码全部结束,也许你需要看看AOP

或者是辅助类的状态设计模式,在测试模式下它做了一件事但是在prod它做了另一件事(没什么)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100000782

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档