【问题标题】:Data Persistence Android数据持久化安卓
【发布时间】:2014-11-24 13:49:56
【问题描述】:

我正在开发一个类似于 instagram 的社交照片应用程序,我需要提高应用程序的性能,为此我需要保留一些数据,例如时间线提要、照片、消息等。 我已经在使用 Shared Preferences 来保存用户信息。

我不知道哪种是保存数据的最佳方式,我在 SQLite 或文件之间,以保存 json 数据或其他东西。

哪个更快,给我的麻烦更少?

如果有人可以帮助我,我将不胜感激。

【问题讨论】:

    标签: android sqlite file persistence android-sharedpreferences


    【解决方案1】:

    看看这个缓存图像将提供更好的解决方案。 http://developer.android.com/training/displaying-bitmaps/cache-bitmap.html

    【讨论】:

    • 我正在使用 Picasso lib 加载图像并缓存它们,但是当我终止应用程序时,所有图像都消失了,需要重新加载它们。我需要像 instagram 这样的东西,当我没有互联网时,他们会保留最后九个帖子,并且图像仍然存在,不需要再次加载它们。
    • 好的。您可以使用 SQLite 将最新图像保存为 blob 文件,但是当图像列表更改时您需要更新数据库,因此这会导致您的应用程序效率低下
    • 哦,我明白了,我会尝试这样的。谢谢
    【解决方案2】:

    如果您需要对此数据进行不同的查询,我强烈建议您使用 SQLite。因为如果不将文件存储到内存中,就无法对文件进行选择查询。

    即使您按原样使用此对象而无需任何特殊查询,您也可以将 json 对象存储到 base。

    SQL:

    1) 快速。

    2) 可以使用不同的 WHERE 条件进行选择查询。

    3) 轻松更新。

    4) 等

    我没有看到将这些数据存储到文件中的好处...

    如果您将数据存储在文件中,如果有很多数据,它会变慢。即使您将使用 sax 解析器。

    但是,您应该将图像存储为文件,并且仅在数据库中更新其上的链接。

    【讨论】:

    • 是的,我也这么认为。现在我使用 Picasso lib 加载图像,缓存是自动的,但是当我杀死应用程序时,图像消失了,如果我没有网络,我就看不到任何图像。
    猜你喜欢
    • 2011-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-09
    相关资源
    最近更新 更多