2012-09-04 41 views
4

我正在做自己的記錄器在android寫入文件。目前,我調用打開一個文件的函數並向它附加一個字符串。但是,我在某處看到,每次登錄時都會打開一個文件,這是很累贅的(操作繁重)。這是真的?這裏有什麼選擇?我應該打開一個文件,讓它在應用程序的持續時間內打開並附加到它?或者你有什麼建議?Android:我每次打開文件資源我想記錄

非常感謝您

+1

是的,它可能是沉重的操作,因爲你可能每隔幾毫秒或微秒記錄一次。我有幾個選項1)保持文件打開並繼續寫入2)有一個緩衝區,您可以暫時記錄您的消息,並立即將消息清理到文件中。 – VendettaDroid

+0

謝謝你的評論+1 – Snake

回答

1

這取決於你有多少做記錄 - 有多少日誌第二,大致有多少數據,關鍵是如何將日誌等,如果你只掉落的東西進入每分鐘記錄幾次,只要它沒有在主線程中發生,並減慢其他內容的速度,那麼你可能沒有問題。如果你確實需要更高效的實現,你可能需要嘗試一些簡單的緩存。

您可以保留日誌數據的內存緩存,並在文件達到特定大小(每100行)或某段時間(每隔5分鐘)時將其保存到文件中。

如果採取這種方法,請記住重寫onPause和onDestroy,並確保在離開應用程序之前將緩存的日誌數據寫入文件,以防用戶不回來。

+0

嗯有道理。我記錄很多,所以我想我們的緩存和寫入選項是好的。但是現在我需要弄清楚什麼時候寫它。因爲我希望這個文件在發生崩潰時被髮送。我無法預測何時發生碰撞。也許讓文件打開會更有意義 – Snake

+0

你總是可以讓這些人爲你做:http://www.crittercism.com/:P –

+0

我使用ACRA。我不想只有崩潰報告,我需要我的日誌,看看導致這種崩潰的條件。 – Snake

相關問題