每個thread中都有一個默認的NSRunloop,主線程中的NSRunloop默認是開啟的绰播,其余線程的NSRunloop默認是未開啟的(包括自己通過NSThread創(chuàng)建的線程骄噪,以及通過get_gloabal_queue獲取的線程)。
一個thread中不是必須要有autoreleasepool蠢箩,而且默認也沒有autoreleasepool腰池。
一個UI事件尾组,一個timer,一個系統(tǒng)delegate都稱之為runloop示弓,系統(tǒng)為每個runloop分配一個autoreleasepool讳侨。
一個thread中如果擁有一個runloop,則這個thread中就包含一個autoreleasepool奏属。
為了做到及時回收內存跨跨,以及避免不必要的內存泄漏,自己手動開辟的子線程最好手動添加autoreleasepool囱皿。