1. 安卓應用的代碼和ui等數據一般保存在什麼文件夾里怎麼打開
額。。。樓上………data保存的只是應用深層數據。安卓源代碼是找不到,找到也不可能改,安卓源代碼googl不可能隨便讓你改的,改了就不是安卓了。但是一些源數據、源文件是保存在根目錄的system
文件夾下的,有能力的話可以進行修改、替換,還有system/
build.prop文件里有一些安卓數據,可以進行修改。你可以用re文件管理器打開進行修改(最高別亂改,改錯了會變磚),前提要root
2. 安卓應用程序的緩存是在那個文件夾
android 是linux內核,在文件系統中以.開頭的文件或者文件夾都是緩存文件
通常是用來保存一些程序設置,用戶偏好設置等緩存文件。
sdcard中的文件都可以刪除
刪除方式:
在手機上點擊文件管理
點擊SD卡,選擇Adnroid 目錄,長按刪除即可
將手機或者SD卡連接電腦,在電腦上刪除即可
3. 安卓內部外部文件存儲
總述
覺得十分有必要搞清楚內存,內部存儲和外部存儲的區別,還有我們在開發中真正將數據存在了手機的哪兒。
先提一個問題:手機設置的應用管理中,每個App下都有清除數據和清除老配緩存,清除的分別是哪裡的數據?
一 內存,內部存儲和外部存儲
整個存儲空間分為內部存儲和外部存儲兩部分,內部存儲中又包含RAM和ROM等部分。
內部存儲,即InternalStorage,也常說內置存儲卡,這是手機內置的存儲空間,出廠時就被確定,是手機的一個硬體指標。類比電腦的內存。
外部存儲,即ExternalStorage,也常說外置存儲卡,手機出廠時並不存在,是由用戶自由擴展的存儲空間,常見的就是SD卡。類比電腦的外接移動硬碟。
RAM,即常說的運行時內存,是手機運行野宴時存儲數據和指令的地方,注意是運行時內存。類比電腦的內存條。
ROM,用來存放一些系統文件,應用配置和其他數據的地方,是內部存儲中主要存儲區域。類比於Windows電腦的C盤。
上圖中運行內存即RAM,共2G,機身存儲即內部存儲,共8G。
打開手機的文件管理,再點擊手機一項,可以看到下圖:
上圖中箭頭所指的地方,可以進行內部存儲與外部存儲的切換,當前頁為內部存儲下的展示,這只是Android系統存儲數據的一部分而已,大部分數據都對用戶隱藏。至於紅框部分下面繼續講。
二 詳說存儲
一般來說,App軟體大都安裝在內部存儲的ROM區,當然現在也有辦法安裝在SD卡上,但這需要App自身支持及SD卡分區等一系列操作,下面討論的App是安裝在ROM區的。
以Genymotion模擬器設備為例來分析,型號是三星GalaxyS5。直接使用AndroidStudio的DDMS,打開File Explorer,我們可以看到下圖:
這張圖是手機根目錄下的完整目錄結構圖,內外部存儲均包含在內。不過有些文件內容需要root許可權才能看到。
上面展示的內部存儲圖就是其中一部分子目錄。
選其中幾個重要的文件夾介紹。
2.1 /data包:主要存儲手機應用的相關數據。
如上圖的二級目錄中,/data/app文件夾下存放三方應用的apk文件;/data/data文件夾下存放系統應用和三方應用的包私有數據,每個應用都有獨屬於自己的包。
選一個三方應用包——com.X.main,來分析三級目錄——/data/data/com.X.main下都有什麼數據:
由包名不難看出:cache包存放緩存數據,侍脊指databases包存放使用SQLite存儲的數據,files包存放普通數據(log數據,json型數據等),shared_prefs包存放使用SharedPreference存放的數據。這些包都是由系統創建的。
2.2 /mnt/sdcard/storage包:這三個包,與手機的部分內置存儲卡數據和外置存儲卡數據有關。
上面的完整目錄結構圖中有其子目錄信息展示。
以內置存儲卡來說,通常用sdcard0表示:Android4.1上,首先掛載到目錄/storage/sdcard0上面,/sdcard和/mnt/sdcard都只是指向/storage/sdcard0的軟鏈接;Android4.2上,首先掛載到目錄/storage/emulated/0(0就表示內置存儲)上面,為兼容之前版本,又掛載到/storage/emulated/legency上面,/storage/sdcard0、/sdcard和/mnt/sdcard都只是指向/storage/emulated/legency的軟鏈接。(掛載相當於真正位置,軟鏈接相當於指針)。
/mnt/sdcard是Android2.2及之上版本使用,/sdcard是Android2.1及之下版本使用。
在手機的文件管理中看到的內置存儲卡文件,如上面文件管理頁面的圖,就是/storage/emulated /0包的子目錄,Android包的路徑就是:/storage/emulated/0/Android。
2.3 其他
/dev包:Linux系統的常規文件夾。
/system包:系統配置的文件夾,比如Android系統框架(framework)、底層類庫(lib)、字體(font)等。
三 存儲相關操作
在Android開發中,我們常打交道的存儲空間有三部分。
一是根目錄下路徑為 /data/data/包名/XX 的文件。開發中SQLite數據、SharedPreference數據均保存在這里,雖說我們可以讀寫操作,但這部分空間由系統維護。
二是在外置存儲卡上做存儲。暫時不講。
三是在內置存儲卡中做存儲。在/storage/emulated/0/Android/data包下或與/storage/emulated/0/Android包同級目錄上,建立App包存儲數據,這部分空間均由開發者維護。區別在於/storage/emulated/0/Android/data包下的數據為私有目錄數據,會隨App卸載被清除,與/storage/emulated/0/Android包同級的數據(如系統目錄DCIM包,DOWNLOWN包和bluetooth包,還有下圖中的包)屬於公有目錄數據,不會隨App卸載被清除,這就會造成數據的卸載殘留。
Google官方建議開發者將App的數據存儲在私有目錄即/storage/emulated/0/Android/data包下,這樣卸載App時數據會隨之被系統清除,不會造成數據殘留。
對存儲空間進行操作,首先要獲取存儲空間的存儲路徑,對此Android提供了Environment類和Context類來獲取路徑。
就上面對存儲空間的劃分,第一部分空間對用戶不可見,是在具體包名下的,和特定的App有關,所以對這些數據的訪問需調用Context類中的方法;第三部分空間對用戶可見,私有目錄數據仍與特定App有關,需調用Context類中的方法,而公有目錄數據與App無關,應調用Environment類中的方法。
總結如下圖:
寫了個小程序對Environment類和Context類相關方法測試,如下圖:(冒號前為方法名,冒號後為輸出結果)
四 回答最初提出的問題
手機設置的應用管理中,每個App下都有清除數據和清除緩存,清除的分別是哪裡的數據?
還是用上面的Genymotion模擬器設備來分析,主要測試三部分數據:
內部數據:/data/data/包名/XXX
外部私有數據:/storage/emulated/0/Android/data/包名/XXX
外部公有數據:/storage/emulated/0/包名/XXX
測試結果圖就不上了,直接上結論:
清除緩存:將外部私有數據下的cache包(/storage/emulated/0/Android/data/包名/cache)清除,將內部數據下的cache包下的內容(/data/data/包名/cache/XXX)清除 。
清楚數據:將外部私有數據包(/storage/emulated/0/Android/data/包名)清除,將內部數據下的所有內容(/data/data/包名/XXX)清除;
而兩種操作對外部公有數據均無影響。
4. 緩存數據是什麼意思
手機緩存數據是什麼意思
緩存是指臨時文件交換區,手機把最常用的文件從存儲器里提出來臨時放在緩存里,就像把工具和材料搬上工作台一樣,這樣會比用時現去倉庫取更方便。因為緩存往往使用的是RAM(斷電即掉的非永久儲存),所以在忙完後還是會把文件送到手機存儲器里,
什麼是緩存文件?
就是你在訪問internet的時候,網路瀏覽器會自動將你訪問的網頁的一些內容保存下來,保存在internet臨時文件夾中,這些文件稱為internet緩存文件。這樣保存的目的是為了你在訪問該網頁的時候可以加快速度。不必每次都從網上傳輸,而有一部分文件在本地磁碟中就可以提供。可以右鍵點擊IE圖標,設置,刪除。
QQ設置里的,清空緩存數據是什麼意思?
您好
清空緩存是清空你收到的圖片或者臨時文件。(比如別人發的表情)
希望可以幫到你
什麼是緩存數據?緩存是什麼意思?
緩存(Cache memory)是硬碟控制器上的一塊內存晶元,型仿具有極快的存取速度,它是硬碟內部存儲和外界介面之間的緩沖器。
由於硬碟的內部數據傳輸速度和外界介面傳模租螞輸速度不同,緩存在其中起到一個緩沖的作用。
緩存的大小與速度是直接關繫到硬碟的傳輸速度的重要因素,能夠大幅度地提高硬碟整體性能。
當硬碟存取零碎數據時需要不斷地在硬碟與內存之間交換數據,如果有大緩存,則可以將那些零碎數據暫存在緩存中,減小外系統的負荷,也提高了數據的傳輸速度。
緩存數據指的是什麼?
為了看片更快,不用怎麼等
清空緩存數據是什麼意思
安卓系統會記錄一些臨時數據,准備隨時調用。
清除應用的緩存數據是什麼意思?
清除應用的緩存數據是清除應用緩存的垃圾數據;
現在,手機內存的可用空間越來越小,除了安裝的軟體自身會佔用空間外;
很多軟體在運行後還會產生大量的緩存數據,尤其是瀏覽器緩存和Market商店緩存;
這些垃圾數據會減少手機空間,可定期給手機清理緩存。
qq清空緩存數據指的是什麼東西
指的是您所瀏覽朋友及其他人的個人資料及其空間所產生的緩存數據,並非您的聊天記錄
緩存數據和緩沖是什麼意思?
緩沖是對你的數據流說的 數據流不能馬上被應用程序全部拿來使用 但為了提高效率就使用了緩沖功能的物理存儲的地方就是你的手機等設備的緩存咯 緩存是短暫性的 當數據流變動時 緩存就會自動隨之刷新的 當該應用程序結束時 就會讓出緩存
手機中的緩存數據是什麼意思
手機中的緩存主要是上網時產生旦埋的緩存,清除一下瀏覽器里的緩存(一般手機瀏覽器都有清除緩存功能的)。還不行的話,備份一下號碼薄,然後恢復出廠設置,就OK了。