android緩存文件
㈠ android清理系統緩存文件怎麼恢復教程
不小心刪除(包括直接刪除、清空回收站、格式化、重新分區等)了一些存儲中的重要數據,其實我們可以用數據恢復軟體再將其恢復出來,接下來是我為大家收集的android 清理系統緩存文件怎麼恢復教程,希望能幫到大家。
android 清理系統緩存文件怎麼恢復教程
想必大家在平常使用可存儲設備(包括電腦、手機、U盤、移動硬碟等等)都會有遇到這種情況:不小心刪除(包括直接刪除、清空回收站、格式化、重新分區等)了一些存儲中的重要數據,但是苦於不懂數據恢復,在外面去恢復動不動就收費幾百上千甚至上萬元,要是財力允許還好,否則就只能悔不當初。
好的話自己還可以再把之前刪除的東西重新做一遍,只是多花點時間而已,但是實際上多數時候這些東西都是不可能再重做的(比如重要的照片等)。這個時候懂一些數據恢復方面的知識將會幫你很大的忙。
簡單地說,我們使用的存儲設備,在使用前都要格式化,此時文件系統會把整個卷按照一定大小分成若干個很小的區域,我們的數據就存儲在這一個個小的區域中,然後建立文件的時候,文件系統會創建一個索引鏈接到該文件的存儲位置。
在刪除文件時,多數情況下(只要你不是用其他數據覆蓋了該區域)都只是將該文件在硬碟中的索引刪除,而文件還是完整無損的躺在存儲設備中,此時可以用數據恢復軟體再將其恢復出來。這就是數據恢復的原理。
切記:
一旦發現誤刪除了數據,一定要及時做好恢復前的准備工作:千萬不要再對該存儲介質進行讀寫操作,因為任何一次多餘的操作都可能會將原來存儲數據的區域覆蓋,而一旦被覆蓋,要想再恢復回來就比較困難了。
即使用軟體恢復回來的文件,很多時候也都不可再用,需要用更加專業的設備或軟體才能進一步恢復,而且這也只是部分地恢復。所以,切記這一點!
看到這里想必你已經對數據恢復有了一定了解,下面就讓我們開始進入正題:如何對手機的內置存儲進行恢復(SD卡建議用讀卡器連接電腦進行恢復)。
首先,你需要:
1.已經取得了root許可權的Android手機一部(比如我自己來說,就是Note 2國行單卡版N7100和HTCNew One電信雙卡版802D)。
2.已經安裝了busybox(注意:必須安裝在/system/bin目錄下,而不是/system/xbin,可以使用“Busybox Pro”進行安裝)。
3.已經在您的電腦上裝好了必要的驅動程序。
4.下載恢復工具“Recovery Tool.rar”。(下載地址在最後面)
5.下載“Recuva”。該軟體用於恢復你的數據,或者你可以使用您自己喜歡的數據恢復軟體,但是我還是建議使用“Recuva”。(下載地址在最後面)。
操作步驟:(以下操作都以N7100為例)
1.打開手機的“設置”->“開發者選項”,開啟“保持喚醒”和“USB調試”。
2.連接您的手機到電腦,並安裝好驅動。
3.將下載好的 “Recovery Tool.rar” 解壓到“C:\”(解壓後你會發現兩個文件夾:“AB”和“Cygwin”。)
注意:請確保你的C盤有足夠的空間,至少有相同於手機內置存儲空間大小,我的16G版N7100大概是10.6G左右,如果C盤空間不夠,可以解壓後將“Cygwin”文件夾移動到其他盤也可以操作,只需把後面教程中相關的“C:”替換為對應盤符即可。
4.到開始菜單“所有程序”->“附件”,以管理員身份運行“命令提示符”,(XP下直接點擊“開始”->“運行”,輸入“CMD”回車即可)。
5.在打開的命令提示符窗口中輸入“cd c:\ab\”回車。
6.輸入“adb devices”回車。
**確認在設備列表下面回顯了一串數字(即你手機的IMEI號)。
7.輸入“adb Shell”回車,再輸入“mount”回車。
注意:接下來的事情比較重要了,剛剛輸入的命令會給出一個很長的列表,你需要在裡面找到“dev/block/mmcblkopXX” /data(或者user data)”。XX可能是任何數字。在N7100和N7105中,“mmcblk0p16”是數據分區。最後這兩個數字會因為不同的設備而不同,只要注意該分區名稱“/data”就行。比如我的N7100就是“mmcblk0p16”,而802d是“mmcblk0p40”。
8.關閉命令行窗口。打開“我的電腦”->“C:\” ->“Cygwin”->運行“Cygwin.bat”打開“Cygwin Terminal”。
9.輸入“export PATH=”/cygdrive/c/ab”:$PATH”回車。
10.輸入“adb forward tcp:5555 tcp:5555”回車。
11.輸入“adb shell”回車。
12.輸入“su”回車,此時手機上會提示許可權請求。
13.在手機上授權“Superuser”許可權請求給ADB shell(成功後Cygwin 終端中的“[md:content]rdquo;會變成“#”)。
14.接著在“#”後面輸入“/system/bin/busybox nc -l -p 5555 -e /system/bin/busyboxdd if=/dev/block/mmcblk0p16”回車。
15.最小化該Cygwin窗口,打開另一個“Cygwin Terminal”:“我的電腦”->“C:\”->“Cygwin”->運行“Cygwin.bat”。
16.輸入“export PATH=”/cygdrive/c/ab”:$PATH”回車。
17.輸入“adb forward tcp:5555 tcp:5555”回車。
18.輸入“cd /aa”回車。
19.輸入“nc 127.0.0.1 5555 | pv -i 0.5 > mmcblk0p16.raw”回車。
20.現在讓命令運行,這會花費較長時間,我自己的用了將近半個小時才完成。
21. 再到開始菜單“所有程序”->“附件”,以管理員身份運行“命令提示符”,(XP下直接點擊“開始”->“運行”,輸入“CMD”回車即可)。
22.輸入“cd c:\cygwin\aa\”回車。
23.輸入“VhdTool.exe /convert mmcblk0p16.raw”回車。
24.現在關閉全部命令行窗口,在桌面“我的電腦”點右鍵->“管理”。
25.在打開的窗口中選擇“存儲”->“磁碟管理”。
26.在菜單中選擇“操作”->“附加VHD”。
27.在位置欄輸入“c:\cygwin\aa\mmcblk0p16.raw”,點擊“確定”。
28. 載入完後,右邊顯示為“未分配”的磁碟空間,右鍵單擊左邊的該磁碟名稱(比如我的是“磁碟 3”),選擇“初始化磁碟”。
29.在“初始化磁碟”窗口中選中“GPT (GUID 分區表)”復選框,並點擊“確定”。
30.在顯示“未分配”的磁碟空間上右擊,選擇“新建簡單卷”。
31.在打開的向導中點擊“下一步”,各選項使用默認設置,為該磁碟選擇一個盤符(比如我選的是“N”),再“下一步”,確認此處一定要選中“不要格式化這個卷”復選框,點擊“下一步”,“完成”。
32.此時會彈出窗口詢問是否要格式化,此時選擇“取消”不要格式化。
33. 在新的RAW分區上點右鍵,“格式化”,確保你選擇的文件系統格式為“FAT32”,設置分配單元大小為“默認”,並確保“執行快速格式化”復選框為選中。你一定不想用“0”全部填充該分卷,這會損壞你的數據。“快速格式化”意味著它只會嘗試刪除該分卷的索引並創建一個新索引。如果未選中該復選框,Windows操作系統會用“0”填充整個分區,從而損壞你的數據。最後點擊“確定”。
34.此時會彈出窗口詢問“格式化此卷將清除其上的所有數據”。如果此時你還不確信之前是否選擇了“執行快速格式化”請取消並再次確認,然後再選擇“確定”。
35.打開Piriform Recuva程序,在向導中點擊“下一步”,選擇“所有文件”,再點擊“下一步”,選擇“在特定位置”,輸入“N:\”或者點擊“瀏覽”選擇N盤,再點擊下一步,選中啟用“啟用深度掃描”。
36.程序可能會花費較長時間來完成“深度掃描”。
37.一旦該程序完成掃描,你就可以通過復選框選擇需要恢復的文件,然後點擊“恢復...”並選擇你要恢復文件到哪個位置,最後“確定”。
38.等待你選擇的文件恢復完成。如果有部分文件恢復後打不開,說明已經有部分數據被覆蓋或者丟失,需要進一步修復,過程相當復雜,在此就不提供了,請諒解。
看了“android 清理系統緩存文件怎麼恢復教程”還想看:
1. 安卓手機徹底清理緩存的方法
2. 安卓手機程序的卸載以及程序緩存清除教程
3. ...安卓手機怎麼清理垃圾文件
4. 安卓手機清理緩存教程
5. 清理手機多餘的內存的教程
㈡ android開發文件緩存在什麼位置,可以在應用程序中清除。
android開發文件緩存的默認位置一般是在android/data目錄下,比如kindle(1st)是在/mnt/sdcard/Android/data目錄下,魅族是在/sdcard/Android/data目錄下。
將緩存在應用程序中清除:
打開關閉使用緩存,一共有五個種類
//優先使用緩存:
WebView.getSettings().setCacheMod
(WebSettings.LOAD_CACHE_ELSE_NETWORK);
//不使用緩存:
WebView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
在退出應用的時候加上如下代碼
File file = CacheManager.getCacheFileBaseDir();
if (file != null && file.exists() && file.isDirectory()) {
for (File item : file.listFiles()) {
item.delete(); }
file.delete(); }
context.deleteDatabase("WebView.db");
context.deleteDatabase("WebViewCache.db");
以上方法均可實現。
㈢ 安卓手機怎麼清理緩存 android清除程序緩存的方法
安卓手機怎麼清理緩存 android清除程序緩存的方法
一,系統清除
1、在你手機中「設置->應用程序 >管理應用程序」
2、然後按Menu鍵「按大小排序」選項 這時會有你手機中所用應用程序
3、選擇要清除緩存的軟體,就會出現「清除緩存」選項,點擊清除緩存這樣就會把清除緩存文件占據的空間是放出來。
二、利用RE管理器
軟體名稱:
RE管理器中文版 for android v3.1.7 漢化版 安卓版
軟體大小:
1.99MB
更新時間:
2014-03-09
首先手機要獲取過ROOT高級許可權
然後安裝了RE管理器。
下面就准備開始清理你的手機了
1.打開RE管理器。
2.打開data / dalivik-cahce
3.把dalivik-cache裡面的文件全部都刪掉,不要猶豫。沒錯裡面的文件是可以全部刪除的。
4.重啟手機,重啟的過程中可能會比較慢就像你刷完機後第一次開機一樣。
三、其它方法介紹
利用第三方法工具,如有安卓優化大師、ET優化大師、手機優化大師這三款手機優化軟體在常規的開機加速、進程管理、程序管理、安裝卸載、系統優化清理等常規功能表現都是不錯的。
特色功能
安卓優化大師偏向於節電優化、工具箱應用功能拓展;
ET優化大師注重電量管理的同時,也重視快速省電開關的應用;
手機優化大師則具有更靈活的功能插件應用,用戶可根據需要下載使用文件管理、桌面管理、系統備份、書簽管理等功能。
http://www.jb51.net/shouji/214543.html
㈣ 虎牙android data緩存文件夾在哪
在C: Internet Files下面。
緩存文件占的空間太多了會影響軟體的運行的,需要隔一段時間後進行定期的清楚來確保軟體的正常使用。清除步驟如下:
第一步,打開虎牙直播,在我的界面,點擊右上角的設置圖標。
第二步,在設置界面,點擊清除緩存。
第三步,在彈出選項中,選擇清除緩存的選項即可。
㈤ android手機Cache緩存文件夾是干什麼的
緩存文件夾就是存儲那些,比如你在線看電影,在線聽歌,或者在網上看圖片,等你下次不聯網也可以看原來看過的東西,因為你看的圖片聽的歌,其實是下載下來了,只不過跟直接下載有點不同而已,這時為方便用戶而設計的,緩存下來了,你一進去就可以看到,不用載入,等待!!
㈥ 安卓手機的軟體緩存是什麼在哪裡
Android開發本質上就是手機和互聯網中的web伺服器之間進行通信,就必然需要從服務端獲取數據,而反復通過網路獲取數據是比較耗時的,特別是訪問比較多的時候,會極大影響了性能,Android中可通過二級緩存來減少頻繁的網路操作,減少流量、提升性能。
1.二級緩存工作機制
所謂二級緩存實際上並不復雜,當Android端需要獲得數據時比如獲取網路中的圖片,我們首先從內存中查找(按鍵查找),內存中沒有的再從磁碟文件或sqlite中去查找,若磁碟中也沒有才通過網路獲取;當獲得來自網路的數據,就以key-value對的方式先緩存到內存(一級緩存),同時緩存到文件或sqlite中(二級緩存)。注意:內存緩存會造成堆內存泄露,所有一級緩存通常要嚴格控制緩存的大小,一般控制在系統內存的1/4。
理解了二級緩存大家可能會有個問題網路中的數據是變化的,數據一旦放入緩存中,再取該數據就是從緩存中獲得,這樣豈不是不能體現數據的變化?我們在緩存數據時會設置有效時間,比如說30分鍾,若超過這個時間數據就失效並釋放空間,然後重新請求網路中的數據。有的童鞋就問30分鍾內咋辦?那好吧,我也沒招了,只有下拉刷新了, 實際上這不是問題。
2.二級緩存的實現
如何實現二級緩存,有很多技術方案,在這里我們使用 ASimpleCache框架來給大家演示一下,通過名字就可以看出它是很容易實現的。
2.1、ACache介紹
ASimpleCache是一個輕量級的開源cache框架,實際上就是一個叫ACache的java類。已經在商業項目中使用,運行效果不錯。
2.2、ACache使用
我們先做一個實現數據緩存的案例,然後再歸納一下主要的方法
編寫NewsListActivity主要代碼如下:
根據不同存入數據,調用不同的方法取數據
㈦ android開發中怎樣清除本地緩存文件夾
/** * 本應用數據清除管理器 */
public class DataCleanManager {
/** * 清除本應用內部緩存(/data/data/com.xxx.xxx/cache) * * @param context */
public static void cleanInternalCache(Context context) {
deleteFilesByDirectory(context.getCacheDir());
}
/** * 清除本應用所有資料庫(/data/data/com.xxx.xxx/databases) * * @param context */
public static void cleanDatabases(Context context) {
deleteFilesByDirectory(new File("/data/data/com.example.orderfood"));
}
/**
* * 清除本應用SharedPreference(/data/data/com.xxx.xxx/shared_prefs) * * @param
* context
*/
public static void cleanSharedPreference(Context context) {
deleteFilesByDirectory(new File("/data/data/com.example.orderfood/shared_prefs"));
}
/** * 按名字清除本應用資料庫 * * @param context * @param dbName */
public static void cleanDatabaseByName(Context context, String dbName) {
context.deleteDatabase(dbName);
}
/** * 清除/data/data/com.xxx.xxx/files下的內容 * * @param context */
public static void cleanFiles(Context context) {
deleteFilesByDirectory(context.getFilesDir());
}
/**
* * 清除外部cache下的內容(/mnt/sdcard/android/data/com.xxx.xxx/cache) * * @param
* context
*/
public static void cleanExternalCache(Context context) {
if (Environment.getExternalStorageState().equals(
Environment.MEDIA_MOUNTED)) {
deleteFilesByDirectory(context.getExternalCacheDir());
}
}
/** * 清除自定義路徑下的文件,使用需小心,請不要誤刪。而且只支持目錄下的文件刪除 * * @param filePath */
public static void cleanCustomCache(String filePath) {
deleteFilesByDirectory(new File(filePath));
}
/** * 清除本應用所有的數據 * * @param context * @param filepath */
public static void cleanApplicationData(Context context, String... filepath) {
cleanInternalCache(context);
cleanExternalCache(context);
cleanDatabases(context);
cleanSharedPreference(context);
cleanFiles(context);
for (String filePath : filepath) {
cleanCustomCache(filePath);
}
}
/** * 刪除方法 這里只會刪除某個文件夾下的文件,如果傳入的directory是個文件,將不做處理 * * @param directory */
private static void deleteFilesByDirectory(File directory) {
if (directory != null && directory.exists() && directory.isDirectory()) {
for (File item : directory.listFiles()) {
item.delete();
}
}
}
}
㈧ android 怎麼做數據緩存
二級緩存工作機制
所謂二級緩存實際上並不復雜,當Android端需要獲得數據時比如獲取網路中的圖片,我們首先從內存中查找(按鍵查找),內存中沒有的再從磁碟文件或sqlite中去查找,若磁碟中也沒有才通過網路獲取;當獲得來自網路的數據,就以key-value對的方式先緩存到內存(一級緩存),同時緩存到文件或sqlite中(二級緩存)。注意:內存緩存會造成堆內存泄露,所有一級緩存通常要嚴格控制緩存的大小,一般控制在系統內存的1/4。
理解了二級緩存大家可能會有個問題網路中的數據是變化的,數據一旦放入緩存中,再取該數據就是從緩存中獲得,這樣豈不是不能體現數據的變化?我們在緩存數據時會設置有效時間,比如說30分鍾,若超過這個時間數據就失效並釋放空間,然後重新請求網路中的數據。有的童鞋就問30分鍾內咋辦?那好吧,我也沒招了,只有下拉刷新了, 實際上這不是問題。
二級緩存的實現
如何實現二級緩存,有很多技術方案,在這里我們使用 ASimpleCache框架來給大家演示一下,通過名字就可以看出它是很容易實現的。
1、ACache介紹
ASimpleCache是一個輕量級的開源cache框架,實際上就是一個叫ACache的java類。已經在商業項目中使用,運行效果不錯。
2、ACache使用
我們先做一個實現數據緩存的案例,然後再歸納一下主要的方法
編寫NewsListActivity主要代碼如下:
創建ACache組件
ACache acache=ACache.get(context)
或
ACache acache=ACache.get(context,max_size,max_count)
參數說明:
max_size:設置限制緩存大小,默認為50M
max_count:設置緩存數據的數量,默認不限制
設置緩存數據
acache.put(key,data,time)或acache.put(key,data)
將數據同時上存入一級緩存(內存Map)和二級緩存(文件)中
參數說明:
Key:為存入緩存的數據設置唯一標識,取數據時就根據key來獲得的
Data:要存入的數據,acache支持的數據類型如圖所示:
有String、可序列化的對象、位元組數組、Drawable等Time:設置緩存數據的有效時間,單位秒
從緩存中取數據
提供一系列getAsXXX()方法,如圖所示。
根據不同存入數據,調用不同的方法取數據