Очистить память, занятую очередью запросов залпа - PullRequest
0 голосов
/ 12 сентября 2018

У меня есть приложение для Android, в котором мне нужно поддерживать несколько очередей залповых запросов для разных устройств iot. Мое приложение должно общаться с каждым устройством iot в отдельной очереди запросов для более быстрого ответа. Но поскольку у меня создается новая очередь запросов для каждого нового объекта устройства iot, моему приложению не хватает памяти.

 pthread_create failed: couldn't allocate 1069056-bytes mapped space: Out of memory

Я хочу очистить память, занятую предыдущей очередью запросов. Возможно ли это любым способом ??

Я также пытался очистить память, занятую вызовом

requestqueue.stop()

но это не помогло, я все равно получу ту же ошибку, и приложение зависнет.

Ответы [ 4 ]

0 голосов
/ 14 сентября 2018
  RequestQueue que= new RequestQueue(new NoCache(),new BasicNetwork(new HurlStack()));

Просто используйте это, надеюсь, это поможет вам ...:)

0 голосов
/ 12 сентября 2018

Одна вещь, которую вы можете попробовать, это очистить кеш-объект ранее созданной очереди запросов залпа, используя следующий код

AppController.getInstance().getRequestQueue().getCache().clear();
0 голосов
/ 12 сентября 2018

Наиболее предпочтительный вариант использования выглядит следующим образом:

Наиболее распространенный вариант использования - это создание RequestQueue в виде одиночного файла, чтобы он работал в течение всего времени жизни вашего приложения, как описано в следующемраздел

Вы можете проверить сайт разработчика Android для получения дополнительной информации.

Настройка RequestQueue

0 голосов
/ 12 сентября 2018

просто используйте все запросы внутри AsyncTask, может быть, это поможет вам

...