【问题标题】:Is there a way to listen for changes in json coming via an API from server?有没有办法通过来自服务器的 API 来监听 json 的变化?
【发布时间】:2019-11-26 20:46:42
【问题描述】:

我正在制作一个板球实时比分 Android 应用程序。我为此购买了一个 API 并开始开发我的应用程序。 API 响应采用 JSON 格式。我能够将请求发送到服务器并以 JSON 格式获取数据。我也可以在我的应用程序中显示这些数据,但问题是,在板球中,数据可以随时更改。数据的变化没有固定的时间,所以我想监听数据的变化。我自己尝试过,但失败了。因此,我基本上编写了每 10 秒获取一次数据的代码。现在我能够获取并显示新数据,但仍然存在问题。由于我每 10 秒获取一次数据,因此我的应用程序消耗了大量内存,因此,我的应用程序在某个时间点后崩溃。大多数情况下,当堆达到 180 MB 左右时。

请您帮忙找出一种有效的方法来刷新我的 android 应用程序的数据,因为我认为使用这么多内存不是一个好主意。

【问题讨论】:

  • 一定要看看使用 WebSockets。此外,您的堆不应该占用那么多内存。可以发一些代码吗?
  • 你可能也想试试 Firebase。
  • 如何使用 firebase 传递我的 JSON 数据?该 JSON 来自不同的服务器。 @Enzokie
  • 如果不能修改服务器代码,恐怕这是不可能的。您可以在服务器中使用 Firebase 向所有连接的设备发出变化正在发生的信号,此时您知道应该进行服务器获取。

标签: android json memory-leaks out-of-memory heap-memory


【解决方案1】:

感谢@rb612,因为他告诉我尝试 WebSocket。使用 WebSocket,我无法监听变化,但我可以每 1000 毫秒刷新一次数据,这使得我的数据几乎是实时同步的。我只是做了一些其他的事情,比如尽可能在本地存储变量。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-02
    • 1970-01-01
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    • 2017-02-01
    相关资源
    最近更新 更多