android - 我应该在我的 android 应用程序中删除 System.out.println 语句吗
问题描述
这个系统输出会影响我的应用程序性能吗?我即将部署这个应用程序,并且我有几个 sysout 方法用于在我的解析器中进行调试。是否有评论所有系统输出的快速命令,或者有一种方法可以在不擦除它们的情况下将它们全部关闭,或者打开它们并不重要?
解决方案
将日志保留在您的发布版本中并不是一个好主意,因为它可能成为攻击者可以通过它了解您的应用程序并利用其漏洞的攻击面。
你可以配置你的 proguard 规则来做到这一点。将以下配置放入您的 proguard 规则中:
-assumenosideeffects class java.io.PrintStream {
public void println(%);
public void println(**);
}
推荐阅读
- spring-kafka - 在 Spring Kafka 中检测代理断开连接
- ios - Environment property wrapper throws +entityForName: nil is not a legal NSPersistentStoreCoordinator for search entity name
- java - 使用纯java调用JMeter时,如何在日志中获取Generate Summary Results心跳?
- javascript - 在js文件中导入默认导出ts文件
- c# - 如何在 winforms 应用程序中处理 Panels 和 tabPages 中的所有控件
- javascript - 我的函数返回一个 Promise {
} - mapreduce - 如何在 Elixir 中的进程之间调度多个任务
- python - 这个生成模型中使用了什么算法?
- ios - CloudKit:如何使用 CKFetchShareParticipants 和 CKModifyRecords 获取分享 URL?
- angular - mat Dialog:如何创建 2 个具有不同样式的自定义对话框