2013-12-22 159 views
4

當我通過ADB連接我的galaxy s3 mini並嘗試使用android studio進行調試應用程序時,我在logcat中看到無盡的錯誤/警告消息,不停的消息就像瘋了似的。這是正常的嗎?通常使用模擬器,我不會在logcat中收到大量的消息。我該如何解決這個問題?這裏是如何logcat看起來像http://pastebin.com/JaVhYaCthttp://i.imgur.com/aaavMZm.png?1Logcat日誌警告/錯誤

順便說一句:我仍然能夠測試應用程序。

+0

什麼是垃圾郵件?您的鏈接很難閱讀 –

+0

我更新了問題。屏幕截圖被添加。 –

+0

這沒有幫助,我不知道你的郵件是什麼,什麼是垃圾郵件。或者它只是隨機的,你不能告訴你的自我。 –

回答

5

這是正常的嗎?

是的 - 系統本身以及每個應用程序使用日誌記錄,這就是你所看到的。一個裸機模擬器將不會有很多應用程序接收器和服務運行,所以你不會看到相同數量的日誌記錄。

我該如何解決這個問題?

您不能這樣做,但您可以通過強制關閉設備上「設置」中的各種應用程序來減少它。不一定是個好主意,但它是您的選擇。

您可以通過在代碼中使用軟件包標記來改進內容,然後應用過濾器僅使用TAG顯示logcat數據。

實施例...

package com.mycompany.mypackage 

public class MyActivity extends Activity { 

    protected final String TAG = getClass().getName(); 

} 

在上述TAG將是 「com.mycompany.mypackage.MyActivity」。使用protected作爲修飾詞,因此任何延伸MyActivity的類都將自動將其自己的類名指定給TAG。當你登錄時你只需要使用Log.d(TAG,「Some text」);

然後,您只需在「com.mycompany.mypackage」上進行過濾即可僅查看來自您自己的應用程序組件的日誌記錄。

+0

謝謝,這就是我想知道的。 –

+0

android studio提供了相同的功能,不需要上面的代碼 – Jacky

+0

@Jacky:嗯?你是否想進一步解釋該評論? – Squonk

1

最簡單的答案是,看到所有這些詳細的日誌記錄是正常的(logcat包含手機中所有內容的信息,因此可能會變得非常冗長)。

您可以使用過濾器過濾logcat中顯示的內容。如果使用命令行,它可能看起來像這樣(不要忘記結束S:* - 它表示'沉默'的一切。從命令行的簡單標籤過濾器可能看起來像這樣(只顯示標籤爲SHOWTAG1,和SHOWTAG2:

adb logcat SHOWTAG1:* SHOWTAG2:* S:* 

Eclipse工具(也許Android Studio中,不知道)也有一個logcat的瀏覽器,它可以讓您應用標籤的過濾,或者以其他方式使用正則表達式或其他過濾機制修改什麼

底線,Logcat是詳細的,你需要特別過濾它看看你想要什麼