java - 将数据分块同步到服务器会导致 StackoverflowException

标签 java android interface callback stack-overflow

我正在使用 onSuccessCallBack() 接口(interface)方法同步大量数据。按照如图所示的方法将数据发送到服务器。 在这里我面临 StackOverflowException 的问题。我怎样才能避免它。

  1. 我应该实现 BroadcastListener 并在每个周期完成后从 NotifySyncCompleted() 方法进行广播。在 BroadcastListener 的 OnReceive() 方法中我可以调用 NextChunkSync() 方法。
  2. 有没有办法在每个周期后释放堆栈内存,然后再继续。
  3. 即使在使用 AbstractThreadedSyncAdapter 之后这个问题将如何解决。

enter image description here

public class SuncManager implements SuccessSyncCallBack{

public SyncNextChunk(){

    new WebServiceManager(this).syncToServer();
}


@Override
public void onSuccessForSyncCallBack() {
    SyncNextChunk();
}}

WebServiceManager类将数据同步到服务器接收响应并保存在数据库中并在onSuccessForSyncCallBack()中通知。

如果迭代次数较少,一切都会正常。仅在同步大数据 block 时才会出现问题。

最佳答案

This flow will help you

只需确保在完成所有同步后停止服务即可。

您可以通过 here 获取 Intent 服务信息.并从 here 广播接收器.祝你好运!!!

关于java - 将数据分块同步到服务器会导致 StackoverflowException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34647217/

相关文章:

java - 是否可以在不调用 Cyc 服务器的情况下生成 Cyc KBAPI 'constants'?

java - 相交矩形

java - 如何在弹出消息中找到用户名和密码时在移动应用程序中找到检查元素

android - 用于在 Android 移动应用程序中定期捕获数据的计时器或处理程序?

android - 以编程方式检查 Android OTA 系统更新

java - gae java sdk/eclipse 插件的本地主机开发数据存储在哪里?

java - 在 JCC 模块中包含系统类

c# - 你认为 "auto interface implementation"在 .NET/C# 中有用吗?

interface - 在 F# 中实现序列的序列

c# - 使用 XML 序列化序列化接口(interface)列表