我正在使用 onSuccessCallBack() 接口(interface)方法同步大量数据。按照如图所示的方法将数据发送到服务器。 在这里我面临 StackOverflowException 的问题。我怎样才能避免它。
- 我应该实现 BroadcastListener 并在每个周期完成后从 NotifySyncCompleted() 方法进行广播。在 BroadcastListener 的 OnReceive() 方法中我可以调用 NextChunkSync() 方法。
- 有没有办法在每个周期后释放堆栈内存,然后再继续。
- 即使在使用 AbstractThreadedSyncAdapter 之后这个问题将如何解决。
public class SuncManager implements SuccessSyncCallBack{
public SyncNextChunk(){
new WebServiceManager(this).syncToServer();
}
@Override
public void onSuccessForSyncCallBack() {
SyncNextChunk();
}}
WebServiceManager类将数据同步到服务器接收响应并保存在数据库中并在onSuccessForSyncCallBack()中通知。
如果迭代次数较少,一切都会正常。仅在同步大数据 block 时才会出现问题。
最佳答案
关于java - 将数据分块同步到服务器会导致 StackoverflowException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34647217/