android 中 thread 與 runnable的使用

android 中thread 是建立一個thread.
而runnable也是建立一個thread.
但兩者其實有很大的關係:

1.  單次型 (Java原有的)
2.  常駐型 (Android特有的)
可參考這篇文章

正規寫法:

 new Thread(new Runnable()
        {
            @Override
            public void run()
            {
               do_something();
            }
        }).start();


因本來在想thread跟 runnable都是建立thread,
為何要寫兩次...於是昨天把這段code中的 new Runnable()拿掉...
試試看會發生什麼事...

04-30 16:03:53.188: E/AndroidHttpClient(10243): Leak found
04-30 16:03:53.188: E/AndroidHttpClient(10243): java.lang.IllegalStateException: AndroidHttpClient created and never closed
04-30 16:03:53.188: E/AndroidHttpClient(10243):     at android.net.http.AndroidHttpClient.(AndroidHttpClient.java:162)
 於是就發生了leak found error.

所以這兩個thread與 runnable還是要一起用,
單次性thread還是要按照正規作法.
不要挑戰 android 與java....


留言