【1】在不同的分辨率的設備中(iPhone4 320*480 iPhone4S 640*960 iPhone 5 960*1136),全屏顯示的圖片在某種模擬器中顯示全屏,但是在其它模擬器中會顯示空白。此種方法沒有在多種實際設備中檢測
以xCode4.5.2建立的ios6的默認程序為例:
· 條件
⁃ 默認設置的view的Simulated Metrics項下的Size屬性為Retina 4 Full Screen
▪ 問題描述
⁃ 如果默認的高度為1136的圖片尺寸在Retina 4-inch/ios6顯示正常,則在Retina 3.5-inch/ios6和其它尺寸下會出現(xiàn)空白。
▪ 解決辦法
⁃ 1.在xCode的屬性中修改成對應的Simulated Metrics Size屬性,則會對應的顯示正常。(如果App的設備不一致,則一樣會顯示空白)
⁃ 2.在代碼中,在非iPhone5設備的情況下將高度進行100個單位的調(diào)整。
▪ 參考范例可以
⁃ 參考HugeImageDemo3范例
【2】當xCode中的App顯示為紅色的時候,需要檢查Bundle Identifier中的標識是否與App ID中申請的一樣,再檢查App ID是否正確。有時候需要從菜單中選擇clean和build,如果還是顯示為紅色,則需要連接設備運行一次
【3】獲取當前窗口
[[UIApplication sharedApplication] keyWindow]
獲取當前窗口視圖
[UIApplication sharedApplication].keyWindow.rootViewController
【4】nil和release的作用:
nil就是把一個對象的指針置為空,只是切斷了指針與內(nèi)存中對象的聯(lián)系;而release才是真正通知內(nèi)存釋放這個對象,但是在IOS中其實也不會立馬釋 放內(nèi)存,而是將內(nèi)存計數(shù)器剪去1,直到計數(shù)器變?yōu)?,才會釋放掉內(nèi)存,所以release的目的是為了釋放內(nèi)存,而self.object = nil,是清空指針。
所以nil并沒有釋放內(nèi)存,只有release才回真正釋放內(nèi)存。
二者使用的先后順序:
如果沒有release就直接nil,那么雖然不會出錯,卻等于自己制造內(nèi)存泄漏了,因為nil之后release就已經(jīng)不起作用了。
相反,如果在使用接口對象時只僅僅release沒有設置self.myOutlet = nil,那么程序可能也不會報錯,但卻會十分不穩(wěn)定、不健壯,很容易發(fā)生崩潰現(xiàn)象。
因為一個接口對象在release之后,給它所分配等內(nèi)存就已經(jīng)被釋放了,如果釋放之后系統(tǒng)再用到這個對象,那么程序就會crash。
如果釋放之后把它的指針置為空,則即便后面的程序用到該對象,也不會崩潰。
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。