2015-04-07 51 views
0

我在寻求一条建议。目前,我们正在开发用于外出服务的Android客户端。服务产生很多动态信息,并且必须存储在用户手机上,以便在不连接网络的情况下访问它。在iOS客户端,我们使用restKit实现了这一点。在Android上,我发现没有像restKit这样的工具。所以有2个选项 - 使用sqlite数据库或缓存最后的json响应。我想使用sqlite数据库,但我们的android开发人员伤心,它不稳定和缓慢。他对吗?什么做法更好?
第二个问题是我找到了一个sqlite编辑器应用程序,它允许在手机上编辑sqlite数据库。有什么办法可以避免这种情况?Android上的Sqlite - 它使用稳定,并且它工作得很快吗?

+0

就我个人而言,我建议您使用SQLite和ORMLite。在这个框架中,查询非常优化。 –

回答

0

您可以使用SQLite,因为SQLite能够非常快速。如果您看到的速度比其他数据库系统(如MySQL或PostGres)慢,那么您并未充分利用SQLite的潜力。优化速度看起来是SQLite的作者和维护者D. Richard Hipp的第二优先级。首先是数据完整性和可验证性。

你应该知道的第一件事是SQLite(和大多数其他数据库系统)花费的大部分时间都在磁盘访问上,这比内存操作慢。所以优化SQLite的关键是尽量减少所需的磁盘访问量。这需要了解SQLite何时访问磁盘上的信息,以及为什么。由于操作系统通常会将打开的磁盘文件缓存在内存中,因此仔细调整SQLite的使用可以提高纯内存数据库的速度。

如果您不熟悉优化,您必须知道,针对速度进行优化的唯一可靠方法是衡量时间花在何处。除非你已经熟悉SQLite的这种做法,否则你经常会猜错。尽可能对代表性的例子进行定量测试。不幸的是,重复测量磁盘访问应用程序的性能并不是微不足道的。 但是很难使用缓存毫无疑问,缓存很快,但不适用于大数据和数据无法长时间存储在缓存中。因此,如果您希望该用户将离线使用您的应用程序,那么您应该将数据放在SQLite上进行优化处理。 希望这会帮助你。

相关问题