java– 生产过程中的Logcat

java– 生产过程中的Logcat,第1张

概述我曾经使用我的自定义类来负责使用以下实现进行日志记录publicclassLogger{publicfinalstaticbooleanDEBUG=true;publicstaticvoidd(Stringtag,Stringmsg){if(DEBUG)Log.d(tag,msg);}}当我发布应用程序时,我

我曾经使用我的自定义类来负责使用以下实现进行日志记录

public class Logger {     public final static boolean DEBUG = true;     public static voID d(String tag, String msg) {         if(DEBUG)             Log.d(tag, msg);     }} 

当我发布应用程序时,我将标志设置为false,但是我被告知以下方法效率不高,因为字符串仍然被分配然后在内存中释放

记录器的使用方式如下:

Logger.d("tag", "message");

或者可能是这样,通过这样做,将调用StringBuilder

Logger.d("tag", "server response: " + response + " timing: " + timing);

这是真的,dalvik /编译器不能优化它来防止这种行为.如果是这样的话,除了移动if外,我还能做些什么来优化它?

解决方法:

尝试使用Proguard从生产apk的字节码中完全删除日志记录.在调试版本上只需禁用“proguarding”.

例如.:

Remove all debug logging calls before publishing: are there tools to do this?

顺便说一句,很少有不必要的字符串连接不好,但通常不是那么难(除非你在循环中多次这样做),所以不要妖魔化它:)

总结

以上是内存溢出为你收集整理的java – 生产过程中的Logcat全部内容,希望文章能够帮你解决java – 生产过程中的Logcat所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1117139.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存