偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

通知推送在Android上的必要性與可行性

移動(dòng)開(kāi)發(fā)
“iOS通知?哼哼,我們有后臺(tái)任務(wù)”很多Android用戶對(duì)iOS的通知推送不屑一顧。Android允許應(yīng)用程序在后臺(tái)執(zhí)行任務(wù),諸如QQ等應(yīng)用程序可以與服務(wù)器實(shí)時(shí)通訊,iOS版QQ的推送延遲也不會(huì)在Android上出現(xiàn)。

Android應(yīng)用甚至擁有iOS無(wú)法想象的能力,名為T(mén)asker的應(yīng)用允許用戶創(chuàng)建自動(dòng)化腳本,比如到地鐵入口處自動(dòng)關(guān)閉3G網(wǎng)絡(luò),出了地鐵再開(kāi)啟之類(lèi)。那是否Android就不需要通知推送了呢?答案是需要。

原因如下:

1.通知推送可以以三種方式提醒用戶(鈴聲、應(yīng)用圖標(biāo)上的數(shù)字或一條文本信息),這涵蓋了大部分后臺(tái)程序的功能

據(jù)我觀察,在Android系統(tǒng)上運(yùn)行服務(wù)的軟件主要有三種目的:

1)對(duì)用戶毫無(wú)好處的流氓軟件,代表軟件CutTheRope,該游戲在后臺(tái)運(yùn)行服務(wù),但是其任何功能都不需要后臺(tái)服務(wù)的支持。唯一解釋是該應(yīng)用正在收集并上傳用戶數(shù)據(jù)。

2)通訊軟件,以QQ和微博為代表。Android上的QQ收到信息后會(huì)發(fā)出鈴聲并顯示一個(gè)通知圖標(biāo)。iOS的通知推送完全可以實(shí)現(xiàn),只是有時(shí)會(huì)有延遲。

3)自動(dòng)化軟件。這些軟件在后臺(tái)執(zhí)行任務(wù),不與用戶交互。代表為短信防火墻和Tasker。不考慮越獄的話,iOS軟件無(wú)法實(shí)現(xiàn)這種功能。這種軟件數(shù)量較少,使用起來(lái)也較復(fù)雜,多為高端用戶(順便說(shuō)下短信防火墻曾經(jīng)擋了支付寶的驗(yàn)證碼短信)

可見(jiàn),通知推送可以做到大部分“接收服務(wù)器通知并呈現(xiàn)給用戶”軟件要利用后臺(tái)服務(wù)才能搞定的功能。

2.通知推送利用單一的通訊連接與服務(wù)器通信,省電省流量

如果你的Android手機(jī)同時(shí)掛著QQ、微博、微信,用電那是嗖嗖的快呀,而iPhone沒(méi)有這個(gè)問(wèn)題,掛的多頂多是通知多點(diǎn)惹人煩。運(yùn)行后臺(tái)服務(wù)連接 服務(wù)器,不僅要占用CPU,并且維持3G網(wǎng)絡(luò)也是很費(fèi)電的。通知推送在3G連接持續(xù)可用時(shí)(比如正在用瀏覽器上網(wǎng))保持與推送服務(wù)器的通信,在手機(jī)閑置時(shí) 過(guò)一段時(shí)間才連接一次服務(wù)器(這就是QQ推送會(huì)延遲的原因),省電。推送服務(wù)器把多個(gè)消息打包,一起發(fā)送給手機(jī),省流量。(如果經(jīng)過(guò)優(yōu)化,甚至可以僅啟用 2G連接接受推送消息。Android后臺(tái)服務(wù)不可能進(jìn)行這樣的優(yōu)化)

3.軟件提供商壓力較小

假設(shè)我是一個(gè)軟件提供商,有十萬(wàn)活躍用戶,每天給每個(gè)用戶發(fā)送10條消息。如果利用通知機(jī)制,我只需要發(fā)一百萬(wàn)條消息而已,甚至可以只用一個(gè)VPS就完成這點(diǎn)工作。而用Android的后臺(tái)服務(wù),需要接受10萬(wàn)用戶的連接,壓力與前者不在一個(gè)數(shù)量級(jí)。

4.編程簡(jiǎn)單,可以日后升級(jí),尤其適合消息頻率低的軟件

又要引用那條微博:

@williamlong: 不知道是不是我的錯(cuò)覺(jué)還是其他什么原因,剛才我的iphone上忽然彈出一個(gè)窗口,說(shuō)我已經(jīng)很久沒(méi)玩捕魚(yú)達(dá)人了,然后系統(tǒng)就自動(dòng)運(yùn)行我手機(jī)上的捕魚(yú)達(dá)人應(yīng)用了。

先不說(shuō)這種方法是否騷擾用戶,他的確是拉來(lái)用戶的有效方法。在iOS上這太容易實(shí)現(xiàn)了,只要在發(fā)布軟件時(shí)請(qǐng)求推送權(quán)限就行了。我們看看如果在Android上實(shí)現(xiàn)這功能需要怎么做:

1)為軟件編寫(xiě)系統(tǒng)服務(wù)或開(kāi)機(jī)啟動(dòng)功能。一個(gè)高級(jí)用戶很容易發(fā)現(xiàn)你在這么做,并把這功能屏蔽或直接卸載。另外,如果只是為了在半個(gè)月后彈出一條通知,這么大動(dòng)干戈也太“重”了吧?

2)如果沒(méi)有前瞻性,就需要靠軟件升級(jí)。開(kāi)發(fā)軟件的時(shí)候如果沒(méi)把前一條的功能寫(xiě)好,你準(zhǔn)備發(fā)布一個(gè)增加了系統(tǒng)服務(wù)的版本并在更新說(shuō)明中寫(xiě)上“增加了系統(tǒng)服務(wù),以便彈出通知拉回那些很久不使用的用戶”么?

3)安卓軟件如果優(yōu)化的不好,容易死機(jī)或者占用過(guò)多內(nèi)存。后臺(tái)服務(wù)也很難優(yōu)化對(duì)網(wǎng)絡(luò)的訪問(wèn):使用長(zhǎng)連接需要保持網(wǎng)絡(luò)在線, 如果是過(guò)一段時(shí)間連接一次服務(wù)器,在后臺(tái)應(yīng)用較多時(shí)也難以省電,不同的應(yīng)用對(duì)網(wǎng)絡(luò)的訪問(wèn)此起彼伏,網(wǎng)絡(luò)難以閑置。

以上的分析足以說(shuō)明Android系統(tǒng)使用推送機(jī)制可以帶來(lái)足夠的好處。那么,是否我們很快就可以在下個(gè)版本的Android系統(tǒng)中見(jiàn)到推送機(jī)制呢?畢竟Google的技術(shù)如此強(qiáng)大,Android又是如此需要推送。

如果不考慮專(zhuān)利問(wèn)題的話,Android和推送之間的***隔閡其實(shí)是策略,或者說(shuō)系統(tǒng)定位。

iOS嚴(yán)重依賴網(wǎng)絡(luò)服務(wù),一個(gè)不越獄,不綁定AppleID的iPhone幾乎什么都做不了。推送機(jī)制應(yīng)用于這樣的系統(tǒng)順理成章。原生的Android 系統(tǒng)是個(gè)完全自治的環(huán)境。他不需要任何輔助就可以自主運(yùn)行。以CM為例,它里面沒(méi)有Google賬戶,沒(méi)有電子市場(chǎng)。用戶需要單獨(dú)刷入Google服務(wù)包 才能使用Google服務(wù)。(相比之下,Nexus系列的固件其實(shí)是Google定制版的Android)通知推送這種依賴服務(wù)器的軟件如何在這種系統(tǒng)下 運(yùn)行?

如果加上通知機(jī)制,如果默認(rèn)為所有Android都使用Google的服務(wù)器,則Android本身變?yōu)橐粋€(gè)依賴Google才能運(yùn) 行的系統(tǒng),這顯然違背 了Android一向“干凈”的風(fēng)格。如果僅在Google服務(wù)包中提供通知服務(wù),無(wú)疑等于半拋棄了那些沒(méi)有服務(wù)包的設(shè)備們,這也讓Android設(shè)備的 分化更為嚴(yán)重。

如果Android上有了推送功能,更可能的是系統(tǒng)自帶了推送功能代碼,而服務(wù)器則需要手機(jī)廠商(或者用戶)自定義。大多數(shù)廠商可以直接使用Google的推送服務(wù),亞馬遜肯定要用自己的推送服務(wù)器,大陸行貨就請(qǐng)自求多福把。

軟件提供商也面臨著難題:他們要連接多個(gè)服務(wù)器(Google的和Amazon的,沒(méi)準(zhǔn)還有QQ的和阿里云的)以便為不同的用戶群提供推送;還必須為那些手 機(jī)不支持推送服務(wù)的用戶做出兼容(捕魚(yú)達(dá)人有沒(méi)有廣告推送問(wèn)題不大,QQ這種實(shí)時(shí)性高的用后臺(tái)服務(wù)更好些,微博從各個(gè)方面看利用推送都正合適,但難道要為 沒(méi)有推送的用戶單獨(dú)做一個(gè)版本?)。好消息是大部分的用戶都會(huì)在軟件提供商那里注冊(cè)(這樣提供商才知道用哪個(gè)服務(wù)器發(fā)起推送),便于追蹤用戶使用情況。

作為Android用戶,真心希望這個(gè)優(yōu)秀的功能可以應(yīng)用于Android。另外,也真心希望Android有更多可以被其他系統(tǒng)借鑒的優(yōu)秀設(shè)計(jì)。

【編輯推薦】

  1. 微軟:Android惡意軟件受害者可獲免費(fèi)WP手機(jī)
  2. 10種技巧可提升Android應(yīng)用運(yùn)行效果
  3. 研究稱(chēng)Android是最不開(kāi)放的開(kāi)源移動(dòng)平臺(tái)
責(zé)任編輯:冰凝兒 來(lái)源: 淺嘗輒止
相關(guān)推薦

2012-10-26 13:48:54

云計(jì)算運(yùn)維云安全

2023-05-31 10:02:29

人工智能

2012-04-12 17:41:02

2009-09-21 16:40:42

Hibernate可行

2011-04-28 11:04:22

DataReader分頁(yè)

2014-02-17 09:37:31

亞馬遜WorkSpacesVDI

2009-06-15 09:57:46

HibernateIBatis

2009-02-17 15:59:55

2012-06-15 09:37:40

Linuxmark

2011-06-24 11:35:01

內(nèi)鏈

2020-05-20 07:00:00

DevOps端點(diǎn)檢測(cè)網(wǎng)絡(luò)攻擊

2015-04-16 14:00:55

新浪云SAE序列化

2018-10-17 10:46:54

區(qū)塊鏈互操作性比特幣

2009-12-11 09:36:02

PHP數(shù)據(jù)緩存類(lèi)

2011-11-08 21:19:25

2009-12-25 14:26:40

無(wú)線接入技術(shù)集成

2023-03-07 13:28:17

2023-08-20 12:34:53

2023-09-14 15:58:34

C++表達(dá)式

2011-06-14 10:20:20

URL標(biāo)準(zhǔn)化
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)