<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 市場(chǎng)分析 > Symbian系統(tǒng)究竟差在哪里?

          Symbian系統(tǒng)究竟差在哪里?

          —— Symbian的衰落絕不是因?yàn)镾ymbian落伍
          作者: 時(shí)間:2013-02-05 來(lái)源:創(chuàng)事記 收藏

            (塞班)的衰落,絕不是因?yàn)?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/Symbian">Symbian落伍了。

          本文引用地址:http://www.ex-cimer.com/article/141711.htm

            首先,應(yīng)當(dāng)說(shuō),是一個(gè)優(yōu)秀的嵌入式。Symbian作為一個(gè)實(shí)時(shí)操作,是一個(gè)微內(nèi)核,從設(shè)計(jì)的時(shí)候,就是為了能在有限的硬件資源和能源的環(huán)境下,長(zhǎng)時(shí)間穩(wěn)定運(yùn)行的。Symbian采取了許多措施,比如使用微內(nèi)核架構(gòu)、嚴(yán)格控制內(nèi)存泄漏、搶占式多任務(wù)調(diào)度等。Symbian使用的是Symbian C++進(jìn)行開(kāi)發(fā),有自己一套完整的開(kāi)發(fā)框架和機(jī)制,約束開(kāi)發(fā)者,保證系統(tǒng)的穩(wěn)定性和可靠性,提高系統(tǒng)的性能。

            這些都是,Symbian的優(yōu)勢(shì),同時(shí)也是Symbian的劣勢(shì)。在Symbian下進(jìn)行應(yīng)用的開(kāi)發(fā)難度是很高的,因?yàn)橐獙懸粋€(gè)高質(zhì)量的C++程序,確實(shí)不容易。

            Symbian檢測(cè)到內(nèi)存泄漏,是會(huì)讓應(yīng)用程序崩潰的。避免內(nèi)存泄漏,這對(duì)于一般程序員來(lái)說(shuō),是一個(gè)不小的難題。

            雖然Symbian本身有二階構(gòu)造函數(shù)、清除棧這樣的機(jī)制輔助開(kāi)發(fā)者進(jìn)行內(nèi)存管理和控制,但是這些都需要開(kāi)發(fā)者對(duì)C++的內(nèi)存分配機(jī)制有一個(gè)比較清晰和深刻的了解。

            還有那個(gè)蛋疼的Leave機(jī)制,基本上是對(duì)C++過(guò)于簡(jiǎn)單的異常機(jī)制的簡(jiǎn)單封裝,稍微不慎,就會(huì)出現(xiàn)內(nèi)存泄漏。

            在微內(nèi)核機(jī)制中,許多東西都和我們平時(shí)的開(kāi)發(fā)不一樣,大部分的系統(tǒng)功能都不在內(nèi)核中,需要連接提供該功能的模塊進(jìn)行操作,這些模塊都是C/S模式的。

            因?yàn)樯鲜鲈颍M(jìn)行Symbian開(kāi)發(fā)的門檻還是比較高的(相比于不需要關(guān)心上述所有問(wèn)題的Java而言)。Symbian的機(jī)型非常多,使得Symbian上應(yīng)用的調(diào)試也比較麻煩,除了屏幕分辨率、鍵盤結(jié)構(gòu)、揚(yáng)聲器數(shù)量、相機(jī)型號(hào)、閃光燈等因素,即使是同一款系統(tǒng),運(yùn)行在不同機(jī)型上的系統(tǒng)也有細(xì)微的差別,所以往往要對(duì)眾多的機(jī)型進(jìn)行適配。

            除了不討好開(kāi)發(fā)者以外,諾基亞在一些方面也是比較認(rèn)死理,比如手機(jī)就應(yīng)該不容易摔壞,手機(jī)信號(hào)就是應(yīng)該好。我一直覺(jué)得,這個(gè)是諾基亞遲遲不使用大尺寸電容屏的原因之一(當(dāng)然,大家常調(diào)侃的Q屏采購(gòu)量過(guò)大沒(méi)用完可能也是)。即使到今天,摔不壞、信號(hào)好依然是諾基亞給大家的印象,難以磨滅。我們必須承認(rèn),這些都是對(duì)的,但是,這些也確實(shí)是不容易被人們注意到的方面。

            Symbian S60 第三版開(kāi)始,對(duì)應(yīng)用引入了簽名機(jī)制,只有有簽名的應(yīng)用才能安裝到機(jī)器上。有人認(rèn)為復(fù)雜的簽名機(jī)制是導(dǎo)致Symbian衰落的原因之一。其實(shí)簽名并沒(méi)有錯(cuò),i上一樣也是使用簽名機(jī)制,不也是好好的?錯(cuò)的是當(dāng)時(shí)那個(gè)互聯(lián)網(wǎng)暫時(shí)還沒(méi)有普及到手機(jī)上的時(shí)候,人們過(guò)多的使用了盜版軟件,而我們也都知道,只有盜版軟件才需要進(jìn)行復(fù)雜的簽名才能安裝到自己的手機(jī)上的。

            至于操作系統(tǒng)的界面,這個(gè)我想不用我說(shuō)太多,用過(guò)的人,不管懂行不懂行,都知道怎么評(píng)價(jià)。Symbian的界面要說(shuō)很差我覺(jué)得不至于,時(shí)間太久了沒(méi)有什么變化,讓大家缺少新鮮感,然后直接敗給了又好看又好玩的蘋果。

            在系統(tǒng)上,不討好開(kāi)發(fā)者;在使用的時(shí)候,也不討好使用者,但是憑借多年的積累,Symbian還是穩(wěn)穩(wěn)的把握住了市場(chǎng),當(dāng)時(shí)不是沒(méi)有其他的系統(tǒng),Windows Mobile、Palm、BlackBerry 都是。但是Symbian因?yàn)槎ㄎ荒茉谛阅鼙容^差的機(jī)器上運(yùn)行,諾基亞的智能機(jī)在性能、種類和價(jià)格上,以及Symbian平臺(tái)上的眾多的應(yīng)用,穩(wěn)穩(wěn)的壓倒了其他競(jìng)爭(zhēng)者。

            2007年iPhone剛剛出現(xiàn)的時(shí)候,不僅僅是諾基亞,全世界都覺(jué)得這是個(gè)笑話。一個(gè)不能換鈴聲、不能后臺(tái)運(yùn)行程序,甚至就根本沒(méi)有第三方應(yīng)用的手機(jī),怎么好意思稱作智能機(jī),唯一的亮點(diǎn),大概就是那個(gè)好玩的多點(diǎn)觸控的屏幕,和那個(gè)相比于Symbian將近十年不變的界面,相對(duì)好看的UI。

            當(dāng)然后來(lái),全世界都知道了,喬幫主在下一盤很大的棋,當(dāng)祭出App Store這個(gè)大殺器的時(shí)候,所有的開(kāi)發(fā)者都開(kāi)始倒戈了。因?yàn)镾ymbian開(kāi)發(fā)困難,還賺不到錢,蘋果上開(kāi)發(fā)簡(jiǎn)單,沒(méi)有盜版,能賺到錢。錢這個(gè)東西一來(lái)引誘,加上Symbian即不討好開(kāi)發(fā)者,也不討好使用者,當(dāng)然也就沒(méi)有人擁護(hù)。

            價(jià)格上,諾基亞從低端到高端全線都有,不過(guò)在高端市場(chǎng)(不含Vertu),價(jià)格一直都很坑爹,旗艦級(jí)的機(jī)器往往都能5k+到6k+。蘋果也是跟運(yùn)營(yíng)商合作,通過(guò)套餐,讓iPhone的使用成本跟別的機(jī)器基本沒(méi)有區(qū)別。正好手機(jī)壞了,幾百刀買一個(gè)iPhone,幾年的合約,還不見(jiàn)得比別的手機(jī)貴,還好玩,為什么不呢?



          關(guān)鍵詞: Symbian OS 系統(tǒng)

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();