Indeed we are not able to push continuously to a server - both because of network availability and also the power consumption is probably much higher than saving it and sending in bulk.
I think we will indeed aim for the 3 level approach and try to put as little as possilbe on the main memory just to be safe.. Thanks to everyone who answered! Nadav On Apr 4, 4:37 pm, Bob Kerns <[email protected]> wrote: > If Jason's suggestion of pushing it to a server is inadequate, you can > buffer events, and only write them out once a minute or 10 minutes or > something. This will put an upper bound on the number of writes > performed. > > You can combine the approaches, and push to the server, and only write > to the filesystem if you don't succeed in pushing to the server within > a decent interval. Then when communications is reestablished, push the > saved data up first. > > You could also send it to the SD -- and when the SD is not available, > buffer it on the local filesystem until it becomes available again. > > Essentially, we're looking at a 3-level buffering hierarchy -- RAM, > local flash, and either SD or server. The more the buffering in RAM, > the more data you risk losing in the event of a crash, but the fewer > writes and less battery required. > > On Apr 4, 12:53 pm, Nadav <[email protected]> wrote: > > > Thanks Bob and Dianne, > > > The issue is that I have no choice but do a lot of writing since this > > is a research app that constantly logs phone and user activity over > > many months... We are dealing ok with battery and processing power > > (we only write every several minutes), and the main concern remains > > the Flash lifetime. > > > We are working with cyclic log files (that roll over every several > > hours), and have already found a way to move our older files to the SD > > card. However our current dilemma is whether to do all writing on the > > SD-card, or keep the "current" open file on the main memory, and copy > > it to SD when moving to the next log file. > > > The problem of doing everything on the SD card is that when a user > > mounts the card to a PC, we can't access it for logging and other > > tasks, and that leads to various crashes and issues, so I thought it > > might be simpler if we work with the "current" file on the main > > memory, but I fear the Flash degradation... I'm willing to buy new SD > > cards every few months, but I really don't want to mess up the phone > > itself! > > > On Apr 4, 2:27 am, Dianne Hackborn <[email protected]> wrote: > > > > If you are talking about internal storage (not RAM memory), then yes this > > > is > > > generally flash memory, and you want to be careful about how much you > > > write > > > to it for numerous reasons: also extremely important are the battery > > > impact > > > (writing to flash is expensive) and performance (causing other things that > > > are accessing flash storage to be blocked by what you are doing). > > > > That said, properly designed flash storage won't let you write to the same > > > block over and over. Writes are spread across the flash storage just to > > > avoid that kind of issue. > > > > On Sat, Apr 3, 2010 at 9:49 AM, Nadav <[email protected]> wrote: > > > > Hi All, > > > > > I'm wondering how worried should I be about writing an app that does a > > > > lot of writing (logs + db files) to the phone's main memory. > > > > > In the past I was involved in a project that had to do a lot of > > > > writing to SD card, and the SD cards started malfunctioning after 2-3 > > > > months due to this, and had to be replaced every now and then. The > > > > developer realized he was reaching the flash memory's read/write > > > > guarantees (don't remember the exact specs). > > > > > If the phone's main memory is also flash based, should this be a > > > > concern? I wouldn't want to damage the phone's memory in a permanent > > > > way.... > > > > > I'm also not sure if the issue is related to reading writing to the > > > > same physical block (the guy was using a single log file and kept > > > > appending it, so he was constantly accessing the file's header block), > > > > and whether writing cyclic log files might remedy a problem like > > > > this.. > > > > > Would appreciate any thoughts on this issue. > > > > > Thanks! > > > > > -- > > > > 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]<android-developers%2Bunsubs > > > > [email protected]> > > > > For more options, visit this group at > > > >http://groups.google.com/group/android-developers?hl=en > > > > > To unsubscribe, reply using "remove me" as the subject. > > > > -- > > > 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

