2009-09-29 44 views
0

我正在使用SQLite數據庫,並且我需要大約15-20個查詢來交流數據庫和提取數據。我在做的是準備這個查詢,同時分配一個DBPersistence對象來處理與數據庫的通信。這個DBPersistence是一個單例類。準備好的SQLite語句在iPhone中佔用多少內存?

我的運行時內存消耗差不多是3MB,因爲我收到內存警告。我正確地重新設置使用後的每個準備好的聲明。

除了使用FMDB或CoreData之外,有什麼方法可以減少內存消耗嗎?

回答

0

每個sqlite準備好的語句本身不應該佔用超過幾百個字節(當然,這是一個典型的準備好的語句,當然你可以從幾千個字符的SQL開始,數百個的變數,這會破壞事情,但我假設你是理智的;-)。所以15-20這樣的陳述應占用幾KB;我懷疑他們可以解釋你的兆字節的浪費(我不知道如何檢查什麼是佔用iPhone上的內存,我依靠SQLite的更普通的部署環境來衡量這些信封數字的背面,我想象iPhone的SQLite準備語句的內存消耗是可比的)。我建議你應該在其他地方尋找過度消耗內存的來源。

0

在完成查詢執行後您是否調用sqlite3_finalize?它從準備好的語句中釋放它創建的內存。情況往往如此。