Android Socket,AsyncTask,Handler内存泄漏

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android Socket,AsyncTask,Handler内存泄漏相关的知识,希望对你有一定的参考价值。

我感到很沮丧。几天后,我举起白旗并寻求帮助。我用过这段代码示例:

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

但每次我尝试建立连接时,内存使用量增加大约500KB,因此如果客户端在多次尝试后断开然后重新连接而没有关闭应用程序,则内存将变得饱和。

我已经尝试过各种方法,包括cancel (true) AsyncTask's中的doInbackground,关闭并强制插入和输出,将对象调用为null调用System.gc (),但这些都没有用。

答案

我不确定,但尝试调用AsyncTask

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

代替

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

以上是关于Android Socket,AsyncTask,Handler内存泄漏的主要内容,如果未能解决你的问题,请参考以下文章

android socket客户端pc服务器使用asynctask

如何在 AsyncTask 类中添加更多方法?

Android:我在哪里可以在服务中实现 socket.on(...)?我多次收到相同的消息

Android面试Android异步任务AsyncTask

Android自助餐之AsyncTask

android:如果一个 AsyncTask 已经在运行,则阻止另一个 AsyncTask 执行