星期一, 1月 30, 2012

谷溝也搞未來式

Google最近更新了隱私權政策服務條款,結果居然也搞未來式(今天是2012年1月30日),有圖為證:

星期四, 1月 12, 2012

iOS需要關掉程式釋放memory

大部份的人都希望手機拿來用而不需要什麼背景知識,但很可惜地,隨著智慧型手機的普及,iOS/Android/WM 用起來比 Symbian 複雜太多,穩定性也更差。

前幾天某個Blog上寫說iOS device在Home鍵按兩下出現 App的列表只是「最近用過的應用程式」,並不會影響作業,完全不需要手動關,這是大錯特錯,完全的誤導呀!

早期iPhone推出時,並不具備多工,但隨著iOS 4推出具備(半?)多工後,事情變得麻煩。因為手機是記憶體受限裝置,iPhone 3GS才256MB,所以多工勢必要消耗更多的記憶體,開了幾十個App之後,很可能會因為作業系統所能支配的記憶體不足,出現速度遲緩或是程式當掉的情形;嚴重時必須重開才能釋放leak的memory。這件事只要用任何一套iOS上的memory monitor程式就可以證實,上個月敝公司的CEO的iPhone 4上Mail完全看不到附件,用這招才恢復正常。根據在下兩年來不專業的使用下,連耗電量都有很大的差異!


補充說明:列表並不代表占在記憶體裡的情形,但是會有關連,尤其是會背景執行的App,必須這樣關閉。在 iOS :認識多工處理 有提到:
Activity Monitor Touch這支程式來證實我的說法。
先做名詞解釋,參考A detailed look at memory usage in OS X,Active不用說,就是現用的 ; Free不必我解釋吧?Inactive 是 allocated memory that hasn't been accessed during last N Secs,也就是可以吐回的記憶體;Wired 是 memory allocated that shouldn't/can't be swapped/paged out ,也就是已配置也不能置換的記憶體。在Activity Monitor Touch用紅色代表Wired,黃色表示Active,白色是Free,藍色是Inactive。以下是測試:
  1. 亂開一堆App,結果快用完256MB:
  2. 先關有背景多工的App,可以看得到Wired memory馬上釋放:
  3. 接著關沒有背景多工的App:
  4. 最後可以看出,若如該篇文章所言,應該不會占用Wired memory,但事實上還是有差別:
剛才是我隨便開的,並沒有長期使用,有些App沒寫好,占住記憶體不放的情形就更明顯,明明不是多工程式,卻使用一堆Wired memory。

最後值得一提的是:iOS上memory leak其實還挺嚴重的,我的iPad一代常發生遊戲玩到某個地方就會當掉,必須關機重開才能繼續玩。希望以後的iOS能夠真的不用再去關背景程式,就suspend到flash上,除了升級OS外別再叫我重開機呀!(這叫做Apple MS化嗎?)

星期二, 1月 03, 2012

換冰箱

最近家裡的冰箱常漏水,搞得地板濕濕地讓我很火大,剛好又看到經濟部補助一二級節能家電2千元,跑到黃色X屋看實體後,決定用貴婦代言的品牌,訂價52900,贈品三選一。有經驗的朋友一看就知道是什麼問題,原來是買國產節能家電補助2000元,並不是一體適用Orz
五門RS49AMJ

星期一下午在黃屋網站下訂50900,變成門市出貨,晚上和我確認時間,星期二就送到。