3

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

我已经用谷歌搜索过了,有人说它属于计时器,有人说它是套接字错误,还有人说它属于图片。我有套接字和计时器(很多计时器),但我不知道是哪一个导致了它。有时它可以工作一个多小时,有时只工作 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;
4

2 回答 2

2

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

于 2013-03-06T08:59:54.050 回答
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();
}
于 2013-05-12T18:49:25.810 回答