當內存不足時,內存回收機制就開始起作用了實際上,作為Android的開發語言Java沒有提供任何操作來釋放內存(這也是與iOS很大的不同點),是通過系統的內存回收機制來進行管理。Android使用了壹個名為Low Memory Killer(LMK)的機制來管理內存,當內存出現不足時,LMK就開始揮舞屠刀殺掉壹些。而ios的 Objective-C Objective-C的內存回收方式是引用計數的內存回收方式。凡是繼承NSObject的類生成的對象,當對象的計數為0,會對對象執行dealloc並回收。引用計數有個缺點,無法解開循環引用。設想對象A引用B, B引用A,兩個對象計數都不為零,結果無法回收A和B,於是內存泄漏掉了。 所以 Android的內存回收機制是優於IOS的。