2016-01-07 1 views
0

Я синхронизирую огромные данные в chunk, используя метод интерфейса onSuccessCallBack(). Отправляя данные на сервер в следующем подходе, показанном на изображении. Здесь я столкнулся с проблемой StackOverflowException. Как я могу избежать этого.Синхронизация данных с сервером в кусках приводит к StackoverflowException

  1. Должен ли я осуществлять BroadcastListener и будет вещать из NotifySyncCompleted() метод после каждого цикла completion.Here в OnReceive() метод BroadcastListener я могу вызвать метод 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().

Все работает нормально, если итерации меньше. Проблема возникает только при синхронизации огромных данных в куске.

+0

Почему вы вызываете 'new WebServiceManager (это) .syncToServer();' каждый раз вы можете создать экземпляр класса с расширением WebServiceManager и использовать его для вызова метода syncToServer() .. просто частичное решение Я думаю, –

ответ

2

This flow will help you

Просто убедитесь, что вы остановить службу, когда вы закончите со всеми синхронизации.

Вы можете получить информацию о сервисе намерения от here. Передатчик широковещательной передачи от here. Удачи !!!

+0

Это означает, что я должен создать одну услугу намерения и что я вызову из метода OnReceive() приемников трансляций. Здесь я должен транслировать из метода NotifySyncCompleted(). Звучит логично, я обязательно постараюсь. –

+0

Да Его работа. Благодарю. –

+0

добро пожаловать !!! – Ajinkya

 Смежные вопросы

  • Нет связанных вопросов^_^