国产日韩在线视频_欧美综合视频在线观看_狠狠视频_成人免费在线视频观看_97在线免费观看_欧美性一区二区三区

2014-02-21 11:21:38
分享

刷機(jī)之家告訴你Android系統(tǒng)是如何進(jìn)行工作的

標(biāo)簽:Android 聯(lián)想 A850刷機(jī)包下載

  Android系統(tǒng)在短短的幾年時(shí)間內(nèi)成為了全球第一大手機(jī)系統(tǒng),什么是導(dǎo)致了Android如何迅速的普及呢?相信Android一定有什么過人的地方。本文就為大家?guī)鞟ndroid系統(tǒng)的工作原理,幫助大家更好的認(rèn)識(shí)Android。

  下載了Android的SDK和一些輔助的玩意我就開始折騰了,IDE是Eclipse。Android開發(fā)的屏幕布局采用XML布局方式,部分資源,包括字符串、控件等等以XML的形式聲明在res文件夾下,在主程序中調(diào)用,很常見的情況是在XML文件里聲明控件,比如TextView之類的,然后再主程序中new一個(gè)控件,直接調(diào)用XML聲明的相應(yīng)部分。而在XML文件中,已經(jīng)把該資源的全部屬性設(shè)定好,包括長(zhǎng)、寬、字體大小、顏色等。這無(wú)形中把資源給“模塊化”了。

  android基于Linux內(nèi)核這種事已經(jīng)不算新鮮事了,很多系統(tǒng)都基于Linux內(nèi)核。但是android的特別之處除了開發(fā)上的特點(diǎn)以外,還有一個(gè)就是程序在運(yùn)行時(shí)的行為和以往我接觸到的程序運(yùn)行機(jī)制有很大不同。在傳統(tǒng)PC機(jī)或者其他一些手機(jī)上,用戶對(duì)應(yīng)用程序有絕對(duì)的掌控權(quán),在應(yīng)用程序的系統(tǒng)菜單上選擇“退出”或者“關(guān)閉”之類的選項(xiàng)會(huì)直接殺死進(jìn)程,而在android系統(tǒng)中不是這樣的。在android中,應(yīng)用程序的生命周期并不是由應(yīng)用程序自身直接控制的,而是由系統(tǒng),當(dāng)系統(tǒng)需要釋放內(nèi)存來運(yùn)行新進(jìn)程或者保證某些后臺(tái)進(jìn)程和前端進(jìn)程順利執(zhí)行的時(shí)候才會(huì)釋放相應(yīng)應(yīng)用程序的資源,這個(gè)釋放過程有一個(gè)重要性的層次。

  android中進(jìn)程的層次如下(重要性由高到低):

  1、前端進(jìn)程。顧名思義,前端進(jìn)程就是目前顯示在屏幕上和用戶交互的進(jìn)程,在系統(tǒng)中前端進(jìn)程數(shù)量很少,而這種進(jìn)程是對(duì)用戶體驗(yàn)的影響最大,只有系統(tǒng)的內(nèi)存稀少到不足以維持和用戶的基本交互時(shí)才會(huì)銷毀前端進(jìn)程。因此這種進(jìn)程重要性是最高的。

  2、可見進(jìn)程。可見進(jìn)程也擁有一個(gè)可視化的界面,只是目前不是最上層界面(最上層界面在前端進(jìn)程里面),可見進(jìn)程一般調(diào)用了OnPause(),可見進(jìn)程比前端進(jìn)程重要性低,但是在交互方面影響還是很大,因?yàn)橛脩艨赡茈S時(shí)切換過去,所以系統(tǒng)不會(huì)輕易銷毀它。

  3、服務(wù)進(jìn)程。一個(gè)服務(wù)進(jìn)程就是一個(gè)Service,它調(diào)用了startService(),就是UNIX中說的守護(hù)進(jìn)程,對(duì)用戶不可見,但是保證了一些重要的事件被監(jiān)聽或者維持著某些狀態(tài),比如網(wǎng)絡(luò)數(shù)據(jù)傳輸、后臺(tái)音樂播放,這類進(jìn)程在內(nèi)存不足且為了保證前端交互的順利進(jìn)行的時(shí)候被銷毀。

  4、后臺(tái)進(jìn)程。這里叫后臺(tái)進(jìn)程可能會(huì)和一般意義上的后臺(tái)進(jìn)程混淆,要說明的是,android里的后臺(tái)進(jìn)程是調(diào)用了OnStop()的,可以理解成用戶暫時(shí)沒有和這個(gè)進(jìn)程交互的愿望,所以這里后臺(tái)進(jìn)程有點(diǎn)“待銷毀”的意思。

  5、空進(jìn)程。這是一種系統(tǒng)緩存機(jī)制,其實(shí)就是個(gè)進(jìn)程的外殼,當(dāng)有新進(jìn)程創(chuàng)建的時(shí)候,這個(gè)空進(jìn)程可以加快進(jìn)程創(chuàng)建速度,當(dāng)系統(tǒng)內(nèi)存不足的時(shí)候,首先銷毀空進(jìn)程。

  android中進(jìn)程重要性層次

  說了程序運(yùn)行機(jī)制就不得不來看看一個(gè)進(jìn)程從創(chuàng)建到被銷毀的全過程:

  進(jìn)程從創(chuàng)建到被銷毀全過程

  一個(gè)進(jìn)程創(chuàng)建時(shí)系統(tǒng)會(huì)為它創(chuàng)建一個(gè)Activity(活動(dòng)),緊接著調(diào)用onCreate(),onCreate()中主要是進(jìn)行一些初始化,例如讀取XML資源文件創(chuàng)建布局,設(shè)置主界面各種監(jiān)聽函數(shù)等等,每個(gè)進(jìn)程都會(huì)調(diào)用onCreate()。

  接著是onStart(),需要說明的是,在默認(rèn) Activity中(就是程序一啟動(dòng)我們看到的那個(gè)Activity實(shí)體),程序員在寫代碼的時(shí)候并不需要顯式去調(diào)用onStart(),系統(tǒng)會(huì)默默幫你調(diào)用;但是,當(dāng)你需要在這個(gè)程序中創(chuàng)建除了默認(rèn)Activity以外的所有新Activity的時(shí)候,你必須顯式調(diào)用這個(gè)onStart(),這個(gè) onStart()有個(gè)新名字叫做startActivity(intent),這里的intent表示一個(gè)意圖,就是我們想創(chuàng)建的新Activity,這個(gè)扯遠(yuǎn)了。

  然后是onResume(),當(dāng)我們從主程序界面跳到別的地方再跳回來的時(shí)候調(diào)用onResume()。然后程序就跑起來了,我們叫他進(jìn)程 A,如果這個(gè)時(shí)候其他進(jìn)程變成了前端進(jìn)程(進(jìn)程B),此時(shí)進(jìn)程A就會(huì)調(diào)用onPause(),這會(huì)保存進(jìn)程的狀態(tài)做數(shù)據(jù)持久化。這時(shí)候有兩種情況,進(jìn)程A 再次成為前端進(jìn)程,于是進(jìn)程A調(diào)用onResume()來恢復(fù)運(yùn)行;如果在進(jìn)程A處于onPause()這段時(shí)間內(nèi)系統(tǒng)內(nèi)存不足了,進(jìn)程A就有可能被銷毀,來為別的進(jìn)程騰出內(nèi)存(為什么是“可能”被銷毀?詳見上面的android進(jìn)程重要性層次說明),如果用戶再次切換到進(jìn)程A,這是系統(tǒng)只是重新創(chuàng)建一個(gè)進(jìn)程,它不再是進(jìn)程A了(因?yàn)榇藭r(shí)進(jìn)程A已經(jīng)被銷毀了)。

  當(dāng)onPause()被調(diào)用以后用戶按了返回鍵(back),那進(jìn)程A會(huì)調(diào)用 onStop(),之前說了用戶此時(shí)已經(jīng)沒有和進(jìn)程A交互的愿望了,所以進(jìn)程A成為了“待銷毀”的對(duì)象(為什么沒有直接銷毀呢?答案還是在android 進(jìn)程重要性層次說明)。那么如果在一個(gè)進(jìn)程A還沒有被銷毀的時(shí)刻用戶再次切換到進(jìn)程A,進(jìn)程A又成為了前端進(jìn)程,此時(shí)進(jìn)程A會(huì)調(diào)用 onRestart(),進(jìn)而調(diào)用onStart()來再次開始進(jìn)程(此時(shí)重新開始的還是進(jìn)程A本身,沒有換成其他的,因?yàn)檫M(jìn)程A還未被銷毀),在這里可以理解成把進(jìn)程A“喚醒”了。如果很不幸,系統(tǒng)內(nèi)存又不足了,調(diào)用了onStop()后的進(jìn)程A可能再次被銷毀,就像圖上畫的那樣,這里不再贅述。至于 onStop()后面的onDestroy()調(diào)用是在系統(tǒng)內(nèi)存不足的時(shí)候由系統(tǒng)調(diào)用來銷毀進(jìn)程和釋放內(nèi)存的。

更多刷機(jī)包及刷機(jī)技巧請(qǐng)關(guān)注刷機(jī)之家官網(wǎng)

聯(lián)想 A850刷機(jī)包下載:http://m.sld007.cn/romlist/794_0_0_1_10

聯(lián)想 A850刷機(jī)教程:http://m.sld007.cn/phone/794_4.html

最新資料下載
主站蜘蛛池模板: 久久久久国产精品一区二区 | 欧美午夜一区二区三区免费大片 | 91久久精品国产免费一区 | 久久久久久精 | 日韩精品久久一区二区三区 | 日韩成人在线电影 | 日韩无 | 免费一级片 | 91大神新作在线观看 | 亚洲精品专区 | 亚洲综合热 | 激情毛片 | 欧美日日| 亚洲精品一区二区 | 国产内谢| 国产高清视频一区 | 美女毛片免费看 | 一区二区视频在线 | 欧美一级片在线观看 | 雨宫琴音一区二区在线 | 免费骚视频 | 免费精品久久久久久中文字幕 | 欧美日韩国产在线观看 | 91精品久久久久久久久久 | 亚洲 欧美 日韩在线 | 国产99视频精品免费视频7 | 国产欧美一区二区三区免费 | 99国产精品视频免费观看一公开 | 国产一级视频在线 | 免费黄色片在线观看 | 国产精品观看 | 久久精片 | 美女黄频 | 欧美一级做a爰片免费视频 国产美女特级嫩嫩嫩bbb片 | 欧美在线日韩 | 日韩精品一区二区三区在线 | 久久精品国产久精国产 | 在线第一页 | 最新中文字幕一区 | 一区二区三区视频在线观看 | 国产精品久久久久一区二区三区 |