不小心刪除(包括直接刪除、清空回收站、格式化、重新分區(qū)等)了一些存儲(chǔ)中的重要數(shù)據(jù),其實(shí)我們可以用數(shù)據(jù)恢復(fù)軟件再將其恢復(fù)出來(lái),接下來(lái)是我為大家收集的android 清理系統(tǒng)緩存文件怎么恢復(fù)教程,希望能幫到大家。
創(chuàng)新互聯(lián)主營(yíng)西安網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,重慶App定制開(kāi)發(fā),西安h5小程序開(kāi)發(fā)搭建,西安網(wǎng)站營(yíng)銷推廣歡迎西安等地區(qū)企業(yè)咨詢
android 清理系統(tǒng)緩存文件怎么恢復(fù)教程
想必大家在平常使用可存儲(chǔ)設(shè)備(包括電腦、手機(jī)、U盤、移動(dòng)硬盤等等)都會(huì)有遇到這種情況:不小心刪除(包括直接刪除、清空回收站、格式化、重新分區(qū)等)了一些存儲(chǔ)中的重要數(shù)據(jù),但是苦于不懂?dāng)?shù)據(jù)恢復(fù),在外面去恢復(fù)動(dòng)不動(dòng)就收費(fèi)幾百上千甚至上萬(wàn)元,要是財(cái)力允許還好,否則就只能悔不當(dāng)初。
好的話自己還可以再把之前刪除的東西重新做一遍,只是多花點(diǎn)時(shí)間而已,但是實(shí)際上多數(shù)時(shí)候這些東西都是不可能再重做的(比如重要的照片等)。這個(gè)時(shí)候懂一些數(shù)據(jù)恢復(fù)方面的知識(shí)將會(huì)幫你很大的忙。
簡(jiǎn)單地說(shuō),我們使用的存儲(chǔ)設(shè)備,在使用前都要格式化,此時(shí)文件系統(tǒng)會(huì)把整個(gè)卷按照一定大小分成若干個(gè)很小的區(qū)域,我們的數(shù)據(jù)就存儲(chǔ)在這一個(gè)個(gè)小的區(qū)域中,然后建立文件的時(shí)候,文件系統(tǒng)會(huì)創(chuàng)建一個(gè)索引鏈接到該文件的存儲(chǔ)位置。
在刪除文件時(shí),多數(shù)情況下(只要你不是用其他數(shù)據(jù)覆蓋了該區(qū)域)都只是將該文件在硬盤中的索引刪除,而文件還是完整無(wú)損的躺在存儲(chǔ)設(shè)備中,此時(shí)可以用數(shù)據(jù)恢復(fù)軟件再將其恢復(fù)出來(lái)。這就是數(shù)據(jù)恢復(fù)的原理。
切記:
一旦發(fā)現(xiàn)誤刪除了數(shù)據(jù),一定要及時(shí)做好恢復(fù)前的準(zhǔn)備工作:千萬(wàn)不要再對(duì)該存儲(chǔ)介質(zhì)進(jìn)行讀寫操作,因?yàn)槿魏我淮味嘤嗟牟僮鞫伎赡軙?huì)將原來(lái)存儲(chǔ)數(shù)據(jù)的區(qū)域覆蓋,而一旦被覆蓋,要想再恢復(fù)回來(lái)就比較困難了。
即使用軟件恢復(fù)回來(lái)的文件,很多時(shí)候也都不可再用,需要用更加專業(yè)的設(shè)備或軟件才能進(jìn)一步恢復(fù),而且這也只是部分地恢復(fù)。所以,切記這一點(diǎn)!
看到這里想必你已經(jīng)對(duì)數(shù)據(jù)恢復(fù)有了一定了解,下面就讓我們開(kāi)始進(jìn)入正題:如何對(duì)手機(jī)的內(nèi)置存儲(chǔ)進(jìn)行恢復(fù)(SD卡建議用讀卡器連接電腦進(jìn)行恢復(fù))。
首先,你需要:
1.已經(jīng)取得了root權(quán)限的Android手機(jī)一部(比如我自己來(lái)說(shuō),就是Note 2國(guó)行單卡版N7100和HTCNew One電信雙卡版802D)。
2.已經(jīng)安裝了busybox(注意:必須安裝在/system/bin目錄下,而不是/system/xbin,可以使用“Busybox Pro”進(jìn)行安裝)。
3.已經(jīng)在您的電腦上裝好了必要的驅(qū)動(dòng)程序。
4.下載恢復(fù)工具“Recovery Tool.rar”。(下載地址在最后面)
5.下載“Recuva”。該軟件用于恢復(fù)你的數(shù)據(jù),或者你可以使用您自己喜歡的數(shù)據(jù)恢復(fù)軟件,但是我還是建議使用“Recuva”。(下載地址在最后面)。
操作步驟:(以下操作都以N7100為例)
1.打開(kāi)手機(jī)的“設(shè)置”-“開(kāi)發(fā)者選項(xiàng)”,開(kāi)啟“保持喚醒”和“USB調(diào)試”。
2.連接您的手機(jī)到電腦,并安裝好驅(qū)動(dòng)。
3.將下載好的 “Recovery Tool.rar” 解壓到“C:\”(解壓后你會(huì)發(fā)現(xiàn)兩個(gè)文件夾:“AB”和“Cygwin”。)
注意:請(qǐng)確保你的C盤有足夠的空間,至少有相同于手機(jī)內(nèi)置存儲(chǔ)空間大小,我的16G版N7100大概是10.6G左右,如果C盤空間不夠,可以解壓后將“Cygwin”文件夾移動(dòng)到其他盤也可以操作,只需把后面教程中相關(guān)的“C:”替換為對(duì)應(yīng)盤符即可。
4.到開(kāi)始菜單“所有程序”-“附件”,以管理員身份運(yùn)行“命令提示符”,(XP下直接點(diǎn)擊“開(kāi)始”-“運(yùn)行”,輸入“CMD”回車即可)。
5.在打開(kāi)的命令提示符窗口中輸入“cd c:\ab\”回車。
6.輸入“adb devices”回車。
**確認(rèn)在設(shè)備列表下面回顯了一串?dāng)?shù)字(即你手機(jī)的IMEI號(hào))。
7.輸入“adb Shell”回車,再輸入“mount”回車。
注意:接下來(lái)的事情比較重要了,剛剛輸入的命令會(huì)給出一個(gè)很長(zhǎng)的列表,你需要在里面找到“dev/block/mmcblkopXX” /data(或者user data)”。XX可能是任何數(shù)字。在N7100和N7105中,“mmcblk0p16”是數(shù)據(jù)分區(qū)。最后這兩個(gè)數(shù)字會(huì)因?yàn)椴煌脑O(shè)備而不同,只要注意該分區(qū)名稱“/data”就行。比如我的N7100就是“mmcblk0p16”,而802d是“mmcblk0p40”。
8.關(guān)閉命令行窗口。打開(kāi)“我的電腦”-“C:\” -“Cygwin”-運(yùn)行“Cygwin.bat”打開(kāi)“Cygwin Terminal”。
9.輸入“export PATH=”/cygdrive/c/ab”:$PATH”回車。
10.輸入“adb forward tcp:5555 tcp:5555”回車。
11.輸入“adb shell”回車。
12.輸入“su”回車,此時(shí)手機(jī)上會(huì)提示權(quán)限請(qǐng)求。
13.在手機(jī)上授權(quán)“Superuser”權(quán)限請(qǐng)求給ADB shell(成功后Cygwin 終端中的“[md:content]rdquo;會(huì)變成“#”)。
14.接著在“#”后面輸入“/system/bin/busybox nc -l -p 5555 -e /system/bin/busyboxdd if=/dev/block/mmcblk0p16”回車。
15.最小化該Cygwin窗口,打開(kāi)另一個(gè)“Cygwin Terminal”:“我的電腦”-“C:\”-“Cygwin”-運(yùn)行“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.現(xiàn)在讓命令運(yùn)行,這會(huì)花費(fèi)較長(zhǎng)時(shí)間,我自己的用了將近半個(gè)小時(shí)才完成。
21. 再到開(kāi)始菜單“所有程序”-“附件”,以管理員身份運(yùn)行“命令提示符”,(XP下直接點(diǎn)擊“開(kāi)始”-“運(yùn)行”,輸入“CMD”回車即可)。
22.輸入“cd c:\cygwin\aa\”回車。
23.輸入“VhdTool.exe /convert mmcblk0p16.raw”回車。
24.現(xiàn)在關(guān)閉全部命令行窗口,在桌面“我的電腦”點(diǎn)右鍵-“管理”。
25.在打開(kāi)的窗口中選擇“存儲(chǔ)”-“磁盤管理”。
26.在菜單中選擇“操作”-“附加VHD”。
27.在位置欄輸入“c:\cygwin\aa\mmcblk0p16.raw”,點(diǎn)擊“確定”。
28. 加載完后,右邊顯示為“未分配”的磁盤空間,右鍵單擊左邊的該磁盤名稱(比如我的是“磁盤 3”),選擇“初始化磁盤”。
29.在“初始化磁盤”窗口中選中“GPT (GUID 分區(qū)表)”復(fù)選框,并點(diǎn)擊“確定”。
30.在顯示“未分配”的磁盤空間上右擊,選擇“新建簡(jiǎn)單卷”。
31.在打開(kāi)的向?qū)е悬c(diǎn)擊“下一步”,各選項(xiàng)使用默認(rèn)設(shè)置,為該磁盤選擇一個(gè)盤符(比如我選的是“N”),再“下一步”,確認(rèn)此處一定要選中“不要格式化這個(gè)卷”復(fù)選框,點(diǎn)擊“下一步”,“完成”。
32.此時(shí)會(huì)彈出窗口詢問(wèn)是否要格式化,此時(shí)選擇“取消”不要格式化。
33. 在新的RAW分區(qū)上點(diǎn)右鍵,“格式化”,確保你選擇的文件系統(tǒng)格式為“FAT32”,設(shè)置分配單元大小為“默認(rèn)”,并確保“執(zhí)行快速格式化”復(fù)選框?yàn)檫x中。你一定不想用“0”全部填充該分卷,這會(huì)損壞你的數(shù)據(jù)?!翱焖俑袷交币馕吨粫?huì)嘗試刪除該分卷的索引并創(chuàng)建一個(gè)新索引。如果未選中該復(fù)選框,Windows操作系統(tǒng)會(huì)用“0”填充整個(gè)分區(qū),從而損壞你的數(shù)據(jù)。最后點(diǎn)擊“確定”。
34.此時(shí)會(huì)彈出窗口詢問(wèn)“格式化此卷將清除其上的所有數(shù)據(jù)”。如果此時(shí)你還不確信之前是否選擇了“執(zhí)行快速格式化”請(qǐng)取消并再次確認(rèn),然后再選擇“確定”。
35.打開(kāi)Piriform Recuva程序,在向?qū)е悬c(diǎn)擊“下一步”,選擇“所有文件”,再點(diǎn)擊“下一步”,選擇“在特定位置”,輸入“N:\”或者點(diǎn)擊“瀏覽”選擇N盤,再點(diǎn)擊下一步,選中啟用“啟用深度掃描”。
36.程序可能會(huì)花費(fèi)較長(zhǎng)時(shí)間來(lái)完成“深度掃描”。
37.一旦該程序完成掃描,你就可以通過(guò)復(fù)選框選擇需要恢復(fù)的文件,然后點(diǎn)擊“恢復(fù)...”并選擇你要恢復(fù)文件到哪個(gè)位置,最后“確定”。
38.等待你選擇的文件恢復(fù)完成。如果有部分文件恢復(fù)后打不開(kāi),說(shuō)明已經(jīng)有部分?jǐn)?shù)據(jù)被覆蓋或者丟失,需要進(jìn)一步修復(fù),過(guò)程相當(dāng)復(fù)雜,在此就不提供了,請(qǐng)諒解。
看了“android 清理系統(tǒng)緩存文件怎么恢復(fù)教程”還想看:
1. 安卓手機(jī)徹底清理緩存的方法
2. 安卓手機(jī)程序的卸載以及程序緩存清除教程
3. ...安卓手機(jī)怎么清理垃圾文件
4. 安卓手機(jī)清理緩存教程
5. 清理手機(jī)多余的內(nèi)存的教程
1、系統(tǒng)每隔1/60秒發(fā)出VSYNC信號(hào);
2、當(dāng)繪制系統(tǒng)收到VSYNC信號(hào)后,CPU和GPU依次開(kāi)始對(duì)下一幀的數(shù)據(jù)進(jìn)行計(jì)算;
3、當(dāng)GPU計(jì)算完成,系統(tǒng)在接收到下一個(gè)VSYNC信號(hào)時(shí),將繪制結(jié)果上屏。
當(dāng)每一幀的處理時(shí)間都小于1/60秒時(shí),整個(gè)系統(tǒng)都可以保證流暢的繪制。
在上圖中,A、B分別代表兩個(gè)不同的緩沖區(qū),這種系統(tǒng)也就是我們常說(shuō)的「雙緩沖系統(tǒng)」。
在雙緩沖系統(tǒng)中的同一個(gè)時(shí)刻,兩個(gè)緩沖區(qū)會(huì)分別處于「顯示(Display)」和「待上屏(CPU+GPU+空閑)」兩個(gè)狀態(tài)。當(dāng)處于「待上屏」的緩沖區(qū)已經(jīng)繪制完成,并處于空閑狀態(tài),在下一個(gè)VSYNC信號(hào)到達(dá)時(shí)會(huì)進(jìn)行緩沖區(qū)切換。
雙緩沖系統(tǒng)可以有效的避免當(dāng)繪制速度與屏幕刷新速度不匹配時(shí),新舊畫面的一部分同時(shí)顯示在屏幕上的問(wèn)題。
然而在雙緩沖系統(tǒng)中,如果連續(xù)兩幀出現(xiàn)處理超時(shí),就會(huì)出現(xiàn)下圖中的現(xiàn)象:
當(dāng)?shù)谝粋€(gè)VSYNC信號(hào)到來(lái)時(shí),由于GPU對(duì)B緩沖區(qū)的操作還沒(méi)有結(jié)束,錯(cuò)過(guò)了上屏?xí)r機(jī)。根據(jù)雙重緩沖區(qū)的特性,雖然CPU已經(jīng)處于空閑狀態(tài),但由于B緩沖區(qū)的數(shù)據(jù)還沒(méi)有準(zhǔn)備好,而A緩沖區(qū)的數(shù)據(jù)正處于顯示的過(guò)程中,此時(shí)已經(jīng)沒(méi)有緩沖區(qū)可供CPU進(jìn)行下一幀的計(jì)算,這就導(dǎo)致了在前兩個(gè)VSYNC信號(hào)之間,CPU都處于空閑的狀態(tài),而GPU也有大部分時(shí)間處于空閑。
雙緩沖系統(tǒng)在這種情況下,4個(gè)VSYNC周期內(nèi)丟失了兩幀。
如果在這種情況下,系統(tǒng)再額外提供一個(gè)緩沖區(qū),就可以讓CPU在第二個(gè)VSYNC信號(hào)到來(lái)的同時(shí)進(jìn)入工作狀態(tài):
在三重緩沖系統(tǒng)中,第一個(gè)VSYNC信號(hào)到來(lái)時(shí),系統(tǒng)發(fā)現(xiàn)A、B緩沖區(qū)正在使用中,但是CPU此時(shí)處于空閑狀態(tài)。此時(shí),系統(tǒng)會(huì)再次分配一個(gè)緩沖區(qū)C,讓CPU立即開(kāi)始下一幀的計(jì)算。
對(duì)比雙緩沖系統(tǒng),三重緩沖在這種場(chǎng)景下可以保證讓每一個(gè)VSYNC信號(hào)都觸發(fā)下一幀的計(jì)算,這樣即便有兩幀的處理時(shí)間超過(guò)了1/60秒,但仍能避免第二幀的計(jì)算超時(shí)導(dǎo)致的丟幀,繪制效率提升了25%。
最近在重溫Android的一些基礎(chǔ)知識(shí),看到SurfaceView的原理中有用到 雙緩沖機(jī)制 ,那么接下來(lái)我將帶領(lǐng)大家學(xué)習(xí)什么是雙緩沖模式。
什么是雙緩沖模式?
雙緩沖模式 常用來(lái)做幀緩沖區(qū)交換。我們幾乎可以在任何一個(gè)圖形API中找到雙緩沖模式的應(yīng)用。如OpenGl中的 swapBuffers() 函數(shù),Android中SurfaceView雙緩沖機(jī)制。
那么SurfaceView中的雙緩沖機(jī)制是什么樣子呢?
看下圖:
可以看出來(lái)SurfaceView的雙緩沖機(jī)制還是稍有不同,前/后臺(tái)緩沖區(qū)交替成為后/前臺(tái)緩沖區(qū)。同時(shí)需要注意每次在繪制的時(shí)候都需要清除Canvas畫布,不然會(huì)出現(xiàn)畫面疊加的現(xiàn)象。
那么這樣有什么好處呢?
具體步驟如下:
1、首先打開(kāi)手機(jī),找到手機(jī)的設(shè)置選項(xiàng),點(diǎn)擊進(jìn)入。
2、在設(shè)置中找到更多設(shè)置,點(diǎn)擊進(jìn)入更多設(shè)置。
3、在更多設(shè)置中,找到應(yīng)用程序,點(diǎn)擊進(jìn)入應(yīng)用程序界面。
4、在應(yīng)用程序中,可以看到已經(jīng)分了大類,已安裝的及默認(rèn)應(yīng)用設(shè)置等,點(diǎn)擊已安裝。
5、在已安裝應(yīng)用中,找到需要單獨(dú)清理緩存的應(yīng)用,點(diǎn)擊進(jìn)入,比如清理HBuilder的緩存,點(diǎn)擊HBuilder進(jìn)入。
6、在HBuilder應(yīng)用程序信息中,點(diǎn)擊存儲(chǔ)功能,進(jìn)入存儲(chǔ)選項(xiàng)。
7、在應(yīng)用存儲(chǔ)選項(xiàng)中,就可以看到清除數(shù)據(jù)、清除緩存功能,點(diǎn)擊進(jìn)行該應(yīng)用的數(shù)據(jù)及緩存清理。
繪制圖像時(shí)不用上述中逐個(gè)繪制的方案,先在內(nèi)存中將所有的圖像都繪制到一個(gè)Bitmap對(duì)象上,然后一次性將內(nèi)存中的Bitmap繪制到屏幕,從而提高繪制的效率。View的onDraw()方法已經(jīng)實(shí)現(xiàn)了這一層緩沖。
onDraw()方法的Canvas對(duì)象是和屏幕關(guān)聯(lián)的,而onDraw()方法是運(yùn)行在UI線程中的,如果要繪制的圖像過(guò)于復(fù)雜,則有可能導(dǎo)致應(yīng)用程序卡頓,甚至ANR。
因此我們可以先創(chuàng)建一個(gè)臨時(shí)的Canvas對(duì)象,將圖像都繪制到這個(gè)臨時(shí)的Canvas對(duì)象中,繪制完成之后再將這個(gè)臨時(shí)Canvas對(duì)象中的內(nèi)容(也就是一個(gè)Bitmap),通過(guò)drawBitmap()方法繪制到onDraw()方法中的canvas對(duì)象中。這樣的話就相當(dāng)于是一個(gè)Bitmap的拷貝過(guò)程,比直接繪制效率要高,可以減少對(duì)UI線程的阻塞。
創(chuàng)建臨時(shí)bitmap,進(jìn)行相關(guān)繪制: