測試理論知識手機存儲培訓_第1頁
測試理論知識手機存儲培訓_第2頁
測試理論知識手機存儲培訓_第3頁
測試理論知識手機存儲培訓_第4頁
測試理論知識手機存儲培訓_第5頁
已閱讀5頁,還剩16頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

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

massstorage是USB協議中的一部分,

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

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

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

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

USB驅動

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

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

溫馨提示

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

評論

0/150

提交評論