无法创建 epoll 实例。错误码=24。

3

这个运行时错误是什么意思?

我已经谷歌了一下,有些人说它属于计时器,其他人说它是一个套接字错误,还有更多的人说它属于图片。我有套接字和计时器(很多计时器),我不知道其中哪个是原因。有时它可以工作一个小时以上,而其他时候只能工作5分钟。有任何想法吗?

简单地理解这个错误就足够了。如果我要发布所有可能出错的代码,那么这个页面会变成数公里长(当然,这是很多代码)。

现在发现,它可能属于“打开文件太多”,但我在我的应用程序中没有使用任何外部文件。

看起来是一个内存泄漏,属于这部分:

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;
2个回答

2

在删除了上面代码的一部分之后,一切都恢复正常了。删除了looper.prepare(),我的应用程序不再死机。


0
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();
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接