2011-06-22 46 views
8

在將我的Android應用程序發佈到市場之前,我應該註釋掉所有日誌嗎?記錄是否減慢了產品的Android應用程序?

Log.d(tag, "example of a log") 

如果我離開它們,應用程序運行速度會變慢嗎?

+1

你應該看看這個:http://stackoverflow.com/questions/2018263/android-logging/2019563#2019563 – Matthieu

回答

13

Java不支持C#風格的條件編譯,這樣的參數將始終進行評估。這包括任何字符串連接和你可能正在做的事情。

簡答:是的。

+0

如果可能的話,你可以給定延遲的定量測量嗎? –

+0

至少有一些函數調用的價值,更多的是如果你做複雜的操作來找出你發送的數據(奉承數組成字符串,緊密的循環日誌,緊密的日誌循環等)。這真的取決於,我不得不看你的代碼! – Blindy

2

您可以使用:

AppLog.Log(TAG, "example of a log"); 

相反:

Log.d(tag, "example of a log") 

這是AppLog類:

public class AppLog { 

public static void Log(String tag, String message) { 
    if ((BuildConfig.DEBUG)) { 

     Log.d(tag, message + ""); 
    } 
}} 

在這種情況下Log不顯示應用程序時,在release模式。

希望這可以幫助你。