【发布时间】:2014-03-17 22:21:01
【问题描述】:
我正在为 android 上的应用程序实现客户端-服务器通信。在开始编码之前,我有一些高级别的问题。 如果问题变得模糊或令人困惑,请道歉。我对此真的很陌生(我只有 2 天的 Google-ing),而且我没有编写任何代码,因为我要问的是这个设计问题。
背景:我们的安卓应用记录用户活动。例如,这些活动是用户为文章添加书签。最终我们希望将这些活动与服务器的数据库同步。然而,这种同步不是时间关键的,这意味着我们不必在每次有新活动时都将活动发送到服务器。
当前设计: 每次有活动时,我们获取活动并将其放入 Java 对象中,标记为“notSync”,然后对数据库(SQLite)进行更新调用手机。我们每隔 5 分钟左右调用一次数据库,将非同步项拉入一个对象数组,将其转换为 JSON,然后发送到服务器。
问题 1: 将一个对象放入数据库,然后每隔几分钟将其作为对象数组从数据库中取出,然后转换为 JSON 似乎效率很低。如果我们只是将所有活动附加到一个对象数组,然后直接从该数组转换为 JSON 并清除该数组,那会是一个更好的设计吗?我的困境是,如果我们实现后者,手机内存中可能会有一个巨大的数组浮动。我们如何选择最适合实施的方法?
问题 2 在将移动 SQLite 与服务器 MySQL 同步时,我们的设计(使用 java 将行作为对象数组拉出,然后将其转换为 JSON)是合理的做法吗?
提前致谢!
【问题讨论】:
标签: android json performance sqlite client-server