【发布时间】:2013-01-22 17:38:06
【问题描述】:
我们通常会放置日志来检查某些代码块是否执行。 但是我们通常不会在发布应用程序之前将其删除。我不知道其他但我喜欢该功能并在我的应用程序中流畅地使用它。谁能告诉我对系统内存的影响编写任何 Log.x() (其中 X=v,e,w,i,d)形式。 有人帮我理清一些概念吗?
【问题讨论】:
我们通常会放置日志来检查某些代码块是否执行。 但是我们通常不会在发布应用程序之前将其删除。我不知道其他但我喜欢该功能并在我的应用程序中流畅地使用它。谁能告诉我对系统内存的影响编写任何 Log.x() (其中 X=v,e,w,i,d)形式。 有人帮我理清一些概念吗?
【问题讨论】:
肯定会对内存使用、APK 文件大小和性能产生很大影响。
此外,您必须在发布应用程序之前删除所有日志。
当然,一旦你删除所有日志并发布它,重写它们就很痛苦。
因此使用Proguard 从字节码中删除所有日志,但不影响源代码。
除了删除日志之外,Proguard 通过混淆代码、删除未使用的方法、变量等来帮助提高性能。这一切都取决于你如何配置它。
【讨论】:
Proguard isn't just to remove logs :)
日志被保存在内存中,从而消耗内存空间。我们应该在发布之前删除调试日志,只有错误日志应该在那里。
【讨论】:
是肯定的。 为了使日志高效,请始终尝试使用布尔标志,例如:
boolean debug = true or false;
无论你在哪里使用 log.d("ClassName","message");写成
if(debug) log.d("ClassName","message");
因此您可以使用单个布尔标志来管理日志记录(Logs)。
谢谢。
【讨论】:
这取决于您使用多少日志。肯定会影响应用。所以在发布应用之前,使用这个。
android:debuggable="false"
【讨论】: