|
|
不錯的文章,所以轉貼一下。 - R$ U) r* _: s( y# L3 [- V, ~/ v/ _
9 {8 u3 e8 A% X4 A8 {, `) w: R
原文網址: http://www.feng.com/iPhone/news/ ... o_run__598285.shtml8 M# a' [1 E* `" z2 k- u9 l
投稿by:叫我知心哥哥丶 來源:鳳凰數碼
$ k- {3 M- Z2 P. I5 g7 NPostTime:2014-10-27 12:20:406 T4 ?* E7 l8 \' b% P
3 N) T, F$ i9 z: H; z
Android設備一而再、再而三地提高運存容量,目前主流的甚至已經達到了3GB。那有人就問了,iPhone 6為啥還敢堅持1GB運存?關鍵是,1GB居然還不卡? $ [4 r3 K6 B0 c$ o/ o
2 R2 G8 J) [( P+ t' @6 o: q
3 l, n0 Y; e! Z$ E/ r. ~
( w- c0 v: b0 |( ^: J) Q8 D" ~以下為文章全文:
; w) J; o# A- I
: ]. k$ o2 p. ]5 R. U7 D, K這個問題說簡單也簡單,說複雜也很複雜。有人該回答了:“是蘋果優化好唄!”說蘋果好,裡面本身就帶著幾分“Android呵呵”的意思。而事實似乎並非如此。iOS設備採取了與Android不同的記憶體垃圾回收機制,因此兩者對運存容量的需求才有了很大的不同。
2 b/ `4 E" @7 {- G7 [
: t/ m8 [2 p; M0 s, }7 A) r# y1 r( y: p4 O/ b7 f+ k
蘋果是如何“收垃圾”的?
* W( ]- T3 t6 q$ S) V3 p
: h* n E% A' p3 ~+ ~) f2 K1 e. k9 t: R* C
不管搭載的iOS還是Android,設備的運行記憶體都是有限的。在你開了一大堆應用程式,快要把記憶體占滿的時候,為了維持正常運行,iOS和Android都會Kill掉一些後臺進程,這個行為也稱為“垃圾回收機制”。: M- @- z5 D. N) t) z
5 l* r* R0 A1 {0 [9 r/ E
但需要注意的是,iOS和Android“收垃圾”的方式不甚相同。iOS會依次把最老的應用直接關閉掉,所以很多朋友在切換到很老的後臺App時會發現,它們都會從標題介面重新開機。
! K6 _! I l& I
* q' l8 d$ h0 g3 R& t( D相比之下,Android的膽子則要小得多,它不會直接關掉App,而是篩選出其中的一些無用物件,率先把它們Kill掉,從而釋放部分記憶體。但只要你不手動關,這些幕後程式都不會自動消失。所以就算你今天上午只和基友聊了一句天,晚上再從後臺調出微信,畫面也肯定還停留在和他的那句基情對白上。+ E( b E" o6 ]# N
[- s* _, w: g3 @" {& U7 y5 V
; j5 |" `( @9 V3 m3 q% t6 @" O因此,蘋果設備就算只有1GB運行記憶體,你正在用的App也絕對不會卡,而Android幕後程式不會自動被關閉,需要提供更多的記憶體(2GB、3GB甚至更多)才能保證系統流暢運行。" r- v" }* h# p: R/ |7 v4 E6 ?0 Z
# x" F' R( O5 v W5 T1 L& ?
: T% y% y5 G" B; m4 `
內存需求小不是蘋果牛掰的意思% }! b2 ^9 R' W9 y
' d4 b) ]) {% ]2 A1 w6 i
雖然1GB用著也很舒坦,但說“蘋果優化好”似乎不太準確,因為iOS和Android的垃圾處理方法並不是一個高端、一個土鼈,而是各有利弊。+ `" K; q" V( p* i+ L& d
/ s9 D2 G5 G3 F9 fiOS會無差別地關掉老應用,這意味著如果你正在玩一個大型遊戲,那麼可能微信、微博、QQ這些軟體就全都被關掉了。你若想切換回這些軟體,就要經歷一個相當鬧心的啟動過程。朋友圈發完了、微博也玩夠了,這回天下該太平了吧?等等,但願你的遊戲還能回到剛才暫停的位置……
) S0 a O+ W0 x3 ]' S$ m4 ?
& z1 g. _$ x; H q' [5 O另外一個比較鬧心的場景就是你在Safari流覽器裡開了N個標籤,1GB運存承受不住那麼多的內容,於是非常自覺地把最老的幾個網頁給掛起了。如果那幾個頁面剛好是你填了一半的付款介面或者是寫了一半的文章,那麼……
! L2 d" M% G* v# ~9 i1 Z8 r4 p4 Q. R. e
那Android又是怎麼坑爹的呢?這個就不用我多說了,想必用家們都深有感觸:切換介面會卡、接電話會卡、解鎖會卡,連看個照片都得等半天。
5 f+ h1 H* c' |1 s5 ^+ o; @+ s/ ]; i0 Q+ n7 G$ j* B1 o
但是,Android的大記憶體也有得天獨厚的好處,那就是不管你想開什麼後臺應用,它們都會把你上次幹半截的事情完整地帶到前臺,不會連個招呼都不打就關了它們。尤其目前市面上具備3GB運行記憶體的Android手機,它們既能夠保證大量應用同時運行,也能保持整個系統處在一個比較流暢的狀態,整體的體驗也還是可以的(開好幾十個應用不關的除外)。4 X( @, n3 B: W/ f2 X0 H
5 F9 @6 F; {/ A. a! f所以,iOS的“霸道型小記憶體”和Android的“人文關懷型大記憶體”其實都是各有利弊的,並不是簡單的一個比另一個好的關係。# \8 h4 m: j8 V& r' O5 o
2 Z) g# z- @ f4 m( Y4 C9 ] a
: t9 \) j6 W3 b6 T, d1 {- [$ Z5 f
運存那麼小,你以為蘋果真的很滿足?
" t" J) q+ J4 U0 h. J! a0 ?( L% ]6 Z0 ?$ U5 s. R
蘋果在iPhone 6和6 Plus上保持1GB運行記憶體,不單單是因為用起來不卡,其實也基於以下一些問題進行了考量:5 {1 L7 K8 R, T6 I( Q) x1 d- e9 e
3 h( z$ j$ Y$ X5 @6 i( ~
* n7 `: d6 |# u2 j; e$ D
內存耗電:更多的記憶體會消耗更多的電能,iPhone6記憶體僅1GB,而且採用了LPDDR3低電壓版模組,節能效果相當可觀;2 ^0 h! P% {# W' p7 _
6 I4 X$ {9 {8 `3 |$ u
* u0 r. j* {+ I6 v t
成本問題:升級到2GB或者更高,單台手機的製造成本並不會提高多少,但是對於一個出貨量動輒好幾千萬的產品來說,那算下來可得損失不少錢呢!
) A5 B0 a. Q" m; b$ B0 z+ [8 v8 p1 V0 J- p
2 x# M1 T5 H6 Q; V! [: v: Y用戶需求問題:雖然存在著一些略顯坑爹的關後臺問題,但是果粉們早就習慣了,就算加大記憶體容量,整體體驗的提升也不見得多明顯。對於追求各方面性能均衡的蘋果來說,單個指標不突出不算是缺憾。
6 V% y; A! b4 N9 X" y
! `& W1 J1 _( K5 A+ A其實說到底,在理想狀態下,蘋果也非常想讓記憶體更大一些,畢竟用戶運行多工的時候,誰都希望能多開幾個應用。蘋果也意識到隨著使用者需求的提高,記憶體問題勢必變得愈加尖銳,他們已然開始行動了:iPad Air 2升級到了2GB記憶體,這樣一來,相信下一代的iPhone離大運存也不會太遠了。
* ]; w5 G, `3 b' h* @# g1 b- H2 g2 [
[: R6 Q; ]8 @PS:iOS設備都2GB了,估計Android手機該往4GB上奔了……? |
|