无法创建epoll实例。 errno = 24
问题描述:
这个运行时错误是什么意思?无法创建epoll实例。 errno = 24
我已经使用它,有人说,它属于计时器,其他人说它是一个套接字错误,更多的说,它属于图片。我有套接字和定时器(很多定时器),我不知道这些是什么原因造成的。它的工作时间超过一个小时,其他时间只需5分钟。有任何想法吗?
对这个错误的基本印象就足够了。如果我会后的所有代码,它可能发生,这个页面会多公里长(当然有点极端,但它是大量的代码。)
现在发现,它可能属于too many open files
,但即时通讯在我的应用程序中不使用任何外部文件。
似乎是内存泄漏,属于这一部分:
public static Runnable connection() throws IOException {
Log.e("Communication", "connection");
new Thread(new Runnable() {
public void run() {
Looper.prepare();
try {
serv = new ServerSocket(port); sock = serv.accept();
reader(); } catch (IOException e) {
e.printStackTrace();
}
}
}).start();
return null;
答
删除高于一切的代码的一部分后正常工作一次。删除了looper.prepare()
,我的应用程序不再死亡。
答
public static void sendJsonList(final List<String> jsonStrlist,
final String resturl) {
Thread t = new Thread() {
public void run() {
Looper.prepare();
/* Your HTTP clients code */
try {
for (String jsonStr : jsonStrlist) {
/* Loop logic */
response = client.execute(post);
if (response != null) {
/*reponse handler logic */
}
}
} catch (Exception e) {
e.printStackTrace();
}
Looper.loop();
}
};
t.start();
}