So, I'm guessing I need to limit the number of rows that can exist in a ContentProvider, so as to avoid memory issues if per some strange chance the provider has a ridiculous number of rows. I'm actually going to go and test to see if there is any significant change in the amount of application memory usage between a query of only a couple items, and a query of, say, 100K from the perspective of the client. I honestly don't know which user/application the shared memory is associated with, so who gets hit with having to store the result set in their heap? Maybe I'm over thinking this and I shouldn't worry?
On May 12, 1:43 pm, Dianne Hackborn <[email protected]> wrote: > Actually I am mistaken -- we haven't done windowing for a long time > apparently. :) So the result of the query is generated into a shared memory > in total that the client can read. > > On Tue, May 12, 2009 at 1:34 PM, Jonathan Herriott <[email protected]>wrote: > > > > > > > Hi Dianne, > > > That essentially answers my question. I was curious as to what > > happens when you query, say, a database that contains 100K rows, how > > it effects memory. From what you said, I'm assuming that it stores a > > subset in shared memory, and when the window moves, the subset > > changes, thereby eliminating any worry about running out of memory for > > large queries. > > > I guess my issue is that I'm having a difficult time tracking what > > objects are being supplied for interfaces (IContentProvider, etc.). > > Does there happen to be a resource file which shows which objects are > > being used, or do I just need to spend more time studying the code? > > > Thanks, > > Jonathan Herriott > > > On May 11, 5:50 pm, Dianne Hackborn <[email protected]> wrote: > > > Not sure what you mean. The content provider runs in its own process. > > When > > > you do a query, the results are windowed in shared memory for access by > > your > > > process. > > > > On Mon, May 11, 2009 at 3:39 PM, Jonathan Herriott <[email protected] > > >wrote: > > > > > I was diving through the Android code on how ContentProviders work, > > > > and to me, it looks like any ContentProvider I query actually gets > > > > placed entirely in the memory of the requesting application. Are they > > > > really stored in the querying application's memory? For some reason I > > > > thought the cursors were lazy. > > > > -- > > > Dianne Hackborn > > > Android framework engineer > > > [email protected] > > > > Note: please don't send private questions to me, as I don't have time to > > > provide private support, and so won't reply to such e-mails. All such > > > questions should be posted on public forums, where I and others can see > > and > > > answer them. > > -- > Dianne Hackborn > Android framework engineer > [email protected] > > Note: please don't send private questions to me, as I don't have time to > provide private support, and so won't reply to such e-mails. All such > questions should be posted on public forums, where I and others can see and > answer them. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~----------~----~----~----~------~----~------~--~---

