Android Socket, AsyncTask, утечка памяти обработчика - PullRequest
0 голосов
/ 08 сентября 2018

Я чувствую разочарование. Через несколько дней я поднимаю белый флаг и прошу помощи. Я использовал этот пример кода:

https://github.com/sht5/Android-tcp-server-and-client

Но каждый раз, когда я пытаюсь установить соединение, используемая память увеличивается примерно на 500 КБ, поэтому, если клиент отключается, а затем снова подключается, не закрывая приложение после многих попыток, память насыщается.

Я уже пробовал различные методы, включая cancel (true) в AsyncTask's doInbackground, закройте и заставьте сокет и вход, выход объектов на нуль Звоните System.gc () но ничего из этого не сработало.

1 Ответ

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

Я не уверен, но попробуйте вызвать AsyncTask как

new InitTCPClientTask().execute(new Void[0]);

вместо

InitTCPClientTask task = new InitTCPClientTask();
task.execute(new Void[0]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...