Non credo ci sia un modo duro e veloce per determinare il limite destro, ma ho guardato nella documentazione CursorWindow e ha scoperto che copyStringToBuffer (int row, int column, CharArrayBuffer buffer)
sembra promettente come CharArrayBuffer ha un campo intero chiamato sizeCopied e il metodo copyStringToBuffer
prende il testo la riga e la colonna specificate. Forse puoi ottenere la dimensione dal buffer e aggiungere per ogni riga e colonna che hai? Se stai usando SQLiteCursor, puoi usare setWindow(CursorWindow window)
per impostare la tua finestra.
Il modo migliore che ho trovato finora è quello di campionare alcune righe e "stimare" quante righe è possibile tirare. Devi solo assicurarti di non superare mai il limite di 1 MB. – zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
il metodo migliore è utilizzare il concetto di paging, ovvero ottenere i dati dal database in parti, ottenere le righe dieci per dieci e cancellare il cursore prima del successivo recupero dal database. – deepak825