測試?yán)碚撝R手機存儲培訓(xùn)_第1頁
測試?yán)碚撝R手機存儲培訓(xùn)_第2頁
測試?yán)碚撝R手機存儲培訓(xùn)_第3頁
測試?yán)碚撝R手機存儲培訓(xùn)_第4頁
測試?yán)碚撝R手機存儲培訓(xùn)_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

手機存儲用例解析(2013/5/06)關(guān)鍵詞:掛載、分區(qū)、內(nèi)存泄露、分區(qū)狀態(tài)錯誤四、多次點擊USB開關(guān)后,出現(xiàn)無響應(yīng)S1上跟存儲相關(guān)的原理、現(xiàn)象和問題七、手機上的應(yīng)用接二連三的崩潰六、桌面上應(yīng)用圖標(biāo)顯示灰色,點擊后提示未安裝八、手機用幾天后就自動重啟了一、號稱8G、16G的存儲空間只剩下5.77G和13G二、打開USB存儲經(jīng)常彈出的確認(rèn)窗體九、無法開機,變磚了三、手機使用時間長了之后系統(tǒng)變慢了五、應(yīng)用是怎么從SD卡移動到內(nèi)置存儲的智能手機的內(nèi)置存儲一、智能手機的ROM和RAMROM:ReadOnly

Memory,可擦寫的系統(tǒng)盤符,用來存放系統(tǒng)所需要的文件,如data、META-IN、system、boot.img。RAM:

RandomAccessMemory,手機的內(nèi)存,系統(tǒng)工作時需要進行調(diào)度的空間。讀寫速度高,內(nèi)存越大,與系統(tǒng)進行交互時所需要調(diào)度的空間就越大。EMMC:EmbeddedMultiMediaCard,封裝中集成了一個控制器,它提供標(biāo)準(zhǔn)接口并管理閃存。S1用的是EMMC解決方案。外置存儲:TF卡(MicroSD)智能手機存儲的簡單工作原理二、簡單的工作原理內(nèi)存(RAM):硬件設(shè)備數(shù)據(jù)調(diào)度的港口EMMC的控制:NANDFlash+控制器+標(biāo)準(zhǔn)封裝接口掛載(Mount):將一個設(shè)備(通常是存儲設(shè)備)掛接到一個已存在的目錄上(android手機上這個目錄名一般為mnt/)卸載(Unmount):將已掛接的存儲設(shè)備和目錄脫離U盤模式(MassStorage):

massstorage是USB協(xié)議中的一部分,

USB從設(shè)備連接到USBHost設(shè)備上,并能夠執(zhí)行文件的傳輸S1案例分析案例一.存儲容量和宣傳的不符,誰偷了我的存儲空間?原因:根據(jù)EMMC的提供的解決方案,對整個存儲進行了分區(qū),分為系統(tǒng)盤符、SD卡存儲盤符、內(nèi)部存儲空間。存儲的計算方式(存儲廠商和系統(tǒng)識別的標(biāo)準(zhǔn)不同):1G=10億個字節(jié),而系統(tǒng)所能識別的是(8*0.9313=7.45G)1000000000/1024byte/1024kb/1024mb=0.9313G通過adbshelldf命令可查看當(dāng)前分區(qū)下的存儲分配,其中/mnt/sdcard占用了5.77G,Data占用了1G,system和cache分別占用了319M和125M,還有一些其他的分區(qū)占用200多M,一共加起來就是7.45G左右。內(nèi)存為1G,實際在手機上顯示的只有165M+489M=654M,少了380M左右的內(nèi)存。其實占用385M空間的是tmpfs,linux下的一種臨時文件系統(tǒng)。

S1案例分析案例二:1.打開USB存儲時經(jīng)常彈出的確認(rèn)窗體原因:后臺正在運行的程序里的文件正在SD卡上(如文件管理器掃描SD卡,應(yīng)用中心下載的同時打開USB存儲)S1案例分析案例三:APP2SD(將應(yīng)用移動到SD卡上)背景:

2.2版本以前的系統(tǒng),Android手機的軟件為了安全性和穩(wěn)定性都是默認(rèn)安裝到手機制定存儲空間里目的:為了節(jié)省空間,把安裝在制定分區(qū)的應(yīng)用移到空間容量更大的SD卡上程序安裝的原理:例如UC瀏覽器.apk,安裝過程如下,1、首先會將UC瀏覽器.apk重命名為com.ucmobile.apk后復(fù)制到/data/app目錄下2、將com.ucmobile.apk包里的class.dex文件解壓到/data/Dalvik-Cache目錄下3、在/data/data目錄下創(chuàng)建com.ucmobile目錄,將com.ucmobile.apk包里的Lib(有的APK無此文件)下對應(yīng)的.so文件復(fù)制到.ucmobile/lib目錄下,UC瀏覽器使用產(chǎn)生的緩存、書簽、設(shè)置等數(shù)據(jù)都存放在.ucmobile下APP2SD原理

官方的app2sd:只把/data/app目錄下的apk移動至SD卡下,且需要軟件自身支持安裝在內(nèi)存卡上才可以,也就是說用官方的app2sd,要把程序安裝在內(nèi)存卡上,并不是我們使用者說了算,而是軟件開發(fā)者說了算。移動至SD卡后,使用U盤模式的同時不能使用該應(yīng)用民間app2sd:把當(dāng)前SD卡里劃分出一個linux所能識別的ext格式的分區(qū),將/data/app等移動到ext分區(qū)后創(chuàng)建鏈接替代。移動app時將/data/app、/data/Dalvik-Cache、/data/data都移到內(nèi)存卡的EXT分區(qū)。當(dāng)使用U盤模式時,仍然可以使用移動到SD卡上的應(yīng)用。S1案例分析案例四:多次點擊USB開關(guān)后,出現(xiàn)無響應(yīng),甚至出現(xiàn)重啟??赡軐?dǎo)致該問題的原因:1.EMMC控制芯片出問題2.STE的解決方案對于USB驅(qū)動支持不夠好3.Framework上層堵塞,導(dǎo)致Systemserver異常后進行重啟。S1案例分析S1案例分析

USB驅(qū)動

上層操作界面點擊打開USB存儲按鈕android標(biāo)準(zhǔn)庫調(diào)用PackageManager,MountService等進行UI更新,通知已打開成功,StorageNotification可能發(fā)生的問題點如下:1.UI沒及時更新2.Framework層堵塞,導(dǎo)致無響應(yīng)4.硬件設(shè)備損壞,底層出錯,導(dǎo)致上層無法獲取正確信息3.Framework層出錯,導(dǎo)致提示出錯Application層Framework層Libraries層LinuxKernel層打開USB流程Android各層級————————————————S1案例分析檢查當(dāng)前USB狀態(tài)進行卸載手機SD卡盤符的操作(Unmount)MountUnmountingUnmountingUnmountedUnmountedSharedS1案例分析衍生案例1:點擊USB存儲按鈕了,沒有反應(yīng),但是U盤模式已經(jīng)開啟了可能的原因:上層UI更新出錯,未及時進行更新衍生案例2:點擊USB存儲按鈕,一直處于等待界面可能的原因:Framework層出錯,卸載分區(qū)沒有成功衍生案例3:移動到SD卡上的某些應(yīng)用無法啟動可能的原因:該程序調(diào)用JNI,而安裝到SD卡上后沒有調(diào)用權(quán)限導(dǎo)致無法啟動衍生案例4:插上USB線后沒有提示已接入設(shè)備可能的原因:1)USB線壞了2)手機端USB接口處壞了衍生案例5:安裝在SD卡上的應(yīng)用重啟后顯示android默認(rèn)圖標(biāo),且無法啟動可能原因:手機在重啟時需要重新掛載SD卡,這是安裝在SD卡上的程序會進行權(quán)限的申請,庫文件的調(diào)用等操作,此時若系統(tǒng)沒處理好此處的邏輯,很容易發(fā)生該問題S1案例分析案例五:桌面圖標(biāo)顯示灰色,點擊后提示未安裝原因:

安裝多個應(yīng)用后(大于50),開啟關(guān)閉U盤模式或重啟之后,桌面程序會去讀取應(yīng)用安裝的列表,此時存儲應(yīng)用的分區(qū)出錯導(dǎo)致桌面讀取到了錯誤的數(shù)據(jù),反映在桌面上就是無法正常顯示圖標(biāo)。S1案例分析案例六:使用一段時間后系統(tǒng)自動重啟原因:內(nèi)存泄露--使用了內(nèi)存(RAM)卻沒有進行釋放。導(dǎo)致S1自動重啟的一個原因鎖屏?xí)r有內(nèi)存泄露,在多次進行鎖屏解鎖操作后較容易出現(xiàn)。內(nèi)存泄露的查看方法:參照啄木鳥知識庫—>Android手機測試中階—>MAT內(nèi)存泄露檢測Android系統(tǒng)上的內(nèi)存泄露:程序調(diào)用的非代碼本身的類導(dǎo)致的內(nèi)存溢出,如調(diào)用androidframework層已封裝好的類,而該類不包含在java和android的回收機制中。S1案例分析案例七:手機應(yīng)用連續(xù)自動崩潰原因:系統(tǒng)Data分區(qū)狀態(tài)錯誤,正常情況下應(yīng)該是讀寫(RW),而出錯時狀態(tài)為只讀(RO)分析引起只讀的一些思路:1.理解Data分區(qū)的作用,進入Data分區(qū)可以看到他里面包含的文件app、data、adm.sqlite、davlik-cache等。App是安裝在手機內(nèi)置存儲的apk的文件夾,data文件夾下是系統(tǒng)內(nèi)應(yīng)用的package存放的路徑,adm.sqlite提供應(yīng)用于數(shù)據(jù)庫的交互,davilk-cache提供虛擬機緩存空間。出現(xiàn)data分區(qū)只讀可能是某項操作引起的分區(qū)保護,把分區(qū)狀態(tài)轉(zhuǎn)換成了只讀。2.基于以上推出以下復(fù)現(xiàn)場景:1.)安裝較大的應(yīng)用的同時進行短信發(fā)送、電話撥出、短信聯(lián)系人添加刪除等操作。2.)或進行數(shù)據(jù)庫、安裝apk時進行斷電操作S1案例分析案例八:手機變磚原因:EMMC系統(tǒng)分區(qū)損壞,導(dǎo)致無法通過boot.img進行開機存儲模式的用例分析1)反復(fù)斷電重啟(檢查EM

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論