最近遇到的問題有兩個:
1群井,在做小車快跑的時候毫胜,想時刻定位司機汽車票在地圖的位置,因為我選擇自定義了結構體荐吉,開了一個timer定時去輪詢拿司機經(jīng)緯度口渔,可是發(fā)現(xiàn)內存一致在增加,降不下來,剛好遇到了手白的架構師8哥到上海技術分享悦穿,于是跪求抱大腿求看代碼求降低內存业踢,最后發(fā)現(xiàn),原來是自己定義的結構體使用錯誤瞬沦,我把自定義的結構體當作OC對象中的屬性去使用:
這塊導致我在開線程不斷重復輪訓的時候一直增加內存雇锡。
。雖然說Xcode4.2之后提供了Automatic Reference Counting遮糖,但是身邊的IOS Coder都告訴我說不要使用這個,因為效率比較低屡江。
然后據(jù)我現(xiàn)在的理解赛不,有兩種對象需要手動釋放,即alloc創(chuàng)建的和new出來的踢故。而基本數(shù)據(jù)類型和CGPoint(結構體),BOOL(算基本數(shù)據(jù)類型)殿较,還有寫在
@interface{}大括號里的也是不需要手動釋放的。
說的簡單點淋纲,只有h文件中@property的和m文件中alloc & new的對象需要釋放。
需要釋放的對象在viewDidUnload中要先制為Nil本涕,最后需要在dealloc中release伙窃。所有的頁面硬引用如UITextView都需要做這樣的操作,除了頁面硬引用之外的對象創(chuàng)建为障、賦值放祟、使用完后就必須立即釋放。
2.還有一個問題就是比對當前時間戳的問題呻右。
我一直覺得都是秒數(shù)舞竿,直接轉化成秒數(shù)比大小不就行了么=。=
可是后來查了一下NSDate還是有對比時間時間戳類型的API
日期之間比較可用以下方法
- (BOOL)isEqualToDate:(NSDate *)otherDate;
與otherDate比較窿冯,相同返回YES - (NSDate *)earlierDate:(NSDate *)anotherDate;
與anotherDate比較骗奖,返回較早的那個日期 - (NSDate *)laterDate:(NSDate *)anotherDate;
與anotherDate比較,返回較晚的那個日期 - (NSComparisonResult)compare:(NSDate *)other;
該方法用于排序時調用:
. 當實例保存的日期值與anotherDate相同時返回NSOrderedSame
. 當實例保存的日期值晚于anotherDate時返回NSOrderedDescending
. 當實例保存的日期值早于anotherDate時返回NSOrderedAscending