我正在用cordova (但这不是重点)为android编写一个应用程序。该应用程序大约每5秒在sqlite-table中写入数据(<10kb)。相应的.db文件位于smartphone硬盘(非SD卡)中。我避免收集数据并将其保存在更长的时间间隔内,因为我不知道用户是否正在结束应用程序,电池没电了还是出了什么问题。它是重要的数据,所以我希望用户在显示器上看到的总是与sqlite-table中的数据相等。
一切都运行得很好,但现在我听说,如此频繁地写入数据对智能手机硬盘的寿命不会有好处,因为它不像台式机硬盘,而是更类似于固态硬盘。这是真的吗?
发布于 2019-01-10 01:21:17
大约每5秒1 kB意味着1 kB * 12 (每分钟写入)* 60 (每小时)* 24 (每天小时)= 17.280,因此一天大约为17 MB。
这大约相当于你拍了3到4张照片,而且不会比其他任何应用程序更多地降低内存。在闪存驱动器上,写入次数没有区别,只有字节数不同。现代芯片擅长distributing the write load along all cells,通常会有一些overprovisioning
但是要小心,如果你允许这个数量在10天后堆叠,它将是170Mb,100天后,你的应用程序将消耗1.7 GB的内存!因此,您应该实施一些修剪策略来删除不必要的数据。
此外,唤醒CPU所有5秒将耗尽电池。
https://stackoverflow.com/questions/54081496
复制相似问题