有沒有人知道如何在Android上使用SQLiteDatabase.CursorFactory
?我期待獲得一個持久的SQLiteCursor對象,它使用SQL SELECT語句,其中幾個WHERE子句表達式使用的參數可以在重新編程之前以編程方式更改。如何使用SQLiteDatabase.CursorFactory
例如:
SELECT LocationID FROM Locations WHERE Latitude < northlimit AND Latitude > southlimit AND Longitude < eastlimit AND Longitude > westlimit;
極限參數會動態變化,每隔200毫秒
我試圖解決一個問題,由此,如果我只是用SQLiteDatabase.rawQuery("SELECT ...");
,系統會爲每個新查詢的新CursorWindow最終耗盡內存。所以我試圖找到一種方法來強制系統不創建新的CursorWindows。
在重新查詢之前,您應該關閉舊的光標。這樣你就不應該耗盡內存。據我所知,SQLite不支持對其查詢結果集進行隨機行訪問。您只能從頭到尾迭代SQLite結果。 Android框架通過將整個結果加載到遊標中來解決該問題,以允許隨機訪問。如果你的查詢返回很多行(或者很多數據),你也可能遇到內存不足的情況。 – tiguchi 2013-04-12 13:25:09