幹IOS開發兩年多了,若是把大學中的時間也算上,編程也有六年了。這些時間中,從一個懵懵懂懂的學徒,變成一個還算熟練的碼農,也多多少少有一點反思。因而,邊促成了理解活在Iphone中的那些App這一些列文章的誕生(說是一系列文章,到最後能寫多少就看時間了)。程序員
首先,解釋一下文章的名字。說是活在Iphone中的app,並非使用了什麼擬人的手法,故意將app擬人化。說app有了生命,可以生老病死。其實,app原本就有生命。編程
當用戶在SpringBoard上點擊了你的app,你的app就開始了他的一次輪迴。開始申請各類資源,被加載進內存。而後你的app活了起來,或者Run了起來。app
咱們都知道,用戶使用一個app是爲了完成特定的需求。固然,完成這個特定需求只須要特定的時間。十分鐘或者幾秒鐘。這段時間就是你的app此次輪迴的生命週期。用戶在你的APP上消耗一秒鐘,需求多完成一點,你的app就「老」了一點(這裏的「衰老」的特質是指對於用戶需求的價值)。spa
固然,被全部程序員痛恨的Bug,會不時的跳出來,讓你的app染上各類稀奇古怪的疾病。甚至直接crash掉。對象
最後,當用戶的需求被完全知足或者中途app crash掉了。你的app的此次輪迴結束,他要面對短暫的死亡。生命週期
程序員或者軟件工程師,就是app的上帝,就是app的創造者,同時也是app的醫生兼管家。咱們決定了app的一切運行時的特質,可是惟一不可以決定的時用戶時怎樣看待你的app的(關於用戶需求的問題會在後續的章節中介紹,如今主要是關注編程方面的東西)。內存
一樣的思路,咱們能夠去分析在app的生命週期中,由咱們或者系統建立的每個對象。我很喜歡面向對象編程,尤爲是對象這個詞,雖然如今尚未對象。由於對象很天然的會讓人聯想到生命,聯想到每個被建立出來的實例都是鮮活的。都是在內存中活躍着的積極分子。而我將要寫的這一系列的文章,思路及其的圖樣圖森破。就是從生命週期的角度去解構一個app。資源