Pracuję nad projektem, który wymaga przechowywania bitmap na stole. Te bitmapy są używane w adapterach danych do wyświetlania na listach. Ta tabela może zawierać więcej niż 1000 obrazów. Powodem, dla którego obecnie nie przechowuję plików, jest to, jak szybko mogę czytać i zapisywać obrazy w db.W jaki sposób kursor SQLite działa wewnętrznie?
Czego właściwie szukam, to zrozumieć ograniczenia kursora SQLite. Jak kursor jest załadowany do pamięci? Czy umieszcza wyniki zapytania w pamięci, czy tworzy jakiś typ pliku do odczytu/zapisu? Nie chcę napotkać problemów, w których zapytanie o duże zbiory danych powoduje, że w urządzeniu skończy się pamięć.
Istnieje [CursorWindow] (http://developer.android.com/reference/android/database/CursorWindow.html) i wygląda na to, że służy do ładowania tylko części zapytania za każdym razem, gdy "moveToXyz". Dane powinny pochodzić bezpośrednio z bazy danych. – zapl
"Pracuję nad projektem, który wymaga przechowywania bitmap na stole." - ick. "Ta tabela może zawierać więcej niż 1000 obrazów." - więcej ick. "Powodem, dla którego obecnie nie przechowuję plików, jest to, jak szybko mogę czytać i zapisywać obrazy w db." - z definicji plik będzie tak szybki lub szybki, ponieważ SQLite musi przechowywać swoje rzeczy w pliku. – CommonsWare
zapl dzięki za te informacje. @CommonsWare Not sure what ick oznacza: P Myślę, że wydaje się, że powinien być szybki lub szybszy odczyt z pliku niż db. Nie wiem zbyt wiele na temat kursorów, poza tym, jak ich używać ... ale czy SQLite nie optymalizuje sposobu czytania z danych? Chodzi mi o to, że czytanie danych obrazu z pliku wiele razy wydaje się dużo wolniejsze niż czytanie z kursora. – Jona