3

この実行時エラーはどういう意味ですか?

私はすでにそれをグーグルで検索しました。タイマーに属していると言う人もいれば、ソケットエラーであると言う人もいれば、写真に属していると言う人もいます。ソケットとタイマー (たくさんのタイマー) がありますが、どちらが原因かわかりません。1 時間以上動作することもあれば、5 分だけ動作することもあります。何か案は?

このエラーが何であるかについての基本的な印象で十分です。すべてのコードを掲載するとしたら、このページは数キロメートルの長さになります (もちろん少し極端ですが、大量のコードです)。

現在、それはに属している可能性がtoo many open filesありますが、アプリでexternファイルを使用していません。

この部分に属するメモリリークのようです:

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 に答える