專利名稱:基于Android系統的內存擴展方法、裝置及終端設備的制作方法
技術領域:
本發明涉及具有內存的電子設備技術領域,尤其涉及一種基于Android系統的內存擴展方法、裝置及終端設備。
背景技術:
Android操作系統是一種以Linux為基礎的開放源碼操作系統,目前被廣泛應用在各種終端設備中,如手機、 MID、PAD等等。目前基于Android系統的終端設備因普遍內置ROM空間不足,導致用戶無法根據需要大量安裝所需APK應用程序;同時由于目前為Android操作系統適配的應用程序都比較占容量,尤其是游戲類應用程序基本上都因包含相當大的第三方Lib庫以及音視頻資源文件,使得每個游戲類應用程序的大小動輒占用幾十Mbyte的空間,因而無法滿足用戶的客觀實際需求。另外,現階段由于FLASH存儲設備價格偏高,終端生產廠家不可能為設備配置太大的FLASH存儲器,而目前終端設備都會支持外置存儲卡(SDCARD或者TF卡),其相對于FLASH存儲器來講SDCARD或者TF卡的價格就低很多,并且容量從幾百Mbyte到32Gbyte的產品都有,可選空間很大。為此,為了解決安裝空間不足問題,絕大部分的解決方案是將存儲卡格式化為兩個分區,其中一個是Linux系統的ext3/ext4分區(以支持應用程序安裝),將所述存儲卡的ext3/ext4分區作為Android系統的DATA分區掛載到系統中;該方案中因Android系統的本身是基于Linux的開源系統,所以要求用戶必須對存儲卡做再分區,并將其中一個分區格式化為ext3/ext4類型的文件系統,否則就無法安裝第三方應用程序,另外還要對現有設備重刷機,導入各種SHELL腳本,這一切操作對于普通用戶來說實在是太過繁瑣,而且稍不注意就會導致終端設備的操作系統崩潰,無法開機,給用戶帶來無法彌補的損失。
發明內容
鑒于上述問題,本發明目的在于提供一種基于Android系統的內存擴展方法,旨在解決現有技術的終端設備的內存擴展方法中,用戶需要進行存儲卡分區格式化、設備重刷機等復雜操作,可能帶來的系統崩潰、設備無法正常開機的技術問題。本發明是這樣實現的,一種基于Android系統應用程序安裝空間擴容方法,所述方法包括將系統數據分區下的數據文件和緩存文件連接到備份文件夾下對應的文件上,并保存到所述備份文件夾中,將所述數據文件和所述緩存文件重連接到存儲卡根目錄對應的文件上;根據所述存儲卡的插拔狀態,將所述存儲卡根目錄或所述備份文件夾中的數據文件和緩存文件連接為系統數據分區下對應的文件;當存儲卡為掛載狀態時,對系統數據分區中與存儲卡中的數據文件和緩存文件進行動態切換,同時將安裝應用程序產生的文件數據復制到所述存儲卡根目錄對應的目錄中。
本發明另一目的在于提供一種基于Android系統應用程序安裝空間擴容裝置,所述裝置包括系統啟動連接單元,用于將系統數據分區下的數據文件和緩存文件連接到備份文件夾下對應的文件上,并保存到所述備份文件夾中,將所述數據文件和所述緩存文件重連接到存儲卡根目錄對應的文件上;文件連接單元,用于根據所述存儲卡的插拔狀態,將所述存儲卡根目錄或所述備份文件夾中的數據文件和緩存文件連接為系統數據分區下對應的文件;應用程序安裝單元,用于當存儲卡為掛載狀態時,對系統數據分區中與存儲卡中的數據文件和緩存文件進行動態切換,同時將安裝應用程序產生的文件數據復制到所述存儲卡根目錄對應的目錄中。本發明的再一目的在于,提供一種Android系統終端,所述終端包括所述基于Android系統的內存擴展裝置。在本發明的可擴展內存的基于Android系統的終端設備及其內存擴展方法,通過將Android系統數據分區下的、與應用程序相關的特定文件(包括數據文件和緩存文件)連接到存儲卡對應文件上,同時修訂Android系統開機流程,當存在存儲卡時,自動將系統分區下的數據文件和緩存文件進行重連接(Relink)操作,整個過程無需用戶干預,不需要用戶對存儲卡做二次分區;并且通過修訂原生Android系統的包安裝策略,在安裝應用程序的時候,將系統內部文件系統數據分區中與存儲卡中相關文件(數據文件和緩存文件)動態切換,解決了 FAT/NTFS文件系統無法安裝應用程序的問題,最終實現在有存儲卡的時候將用戶目標安裝應用程序安裝到存儲卡上,以此實現對Android操作下系統數據分區擴容的目的。
圖I是本發明基于Android系統的內存擴展方法較佳實施例的流程圖;圖2是圖I中步驟SlOl的具體流程圖; 圖3是圖I中步驟S102的具體流程圖;圖4是圖I中步驟S103的具體流程圖;圖5是本發明基于Android系統的內存擴展裝置較佳實施例的結構方框圖;圖6是圖5中系統啟動連接單元的結構方框圖;圖7是圖5中文件連接單元的結構方框圖;圖8是圖5中應用程序安裝單元的結構方框圖。
具體實施例方式為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。為了說明本發明所述的技術方案,下面通過具體實施例來進行說明。實施例一:請參照圖1,圖I是本發明基于Android系統的內存擴展方法較佳實施例的流程圖。如圖I所示,本發明實施例提供的內存擴展方法,包括下述步驟步驟S101、將系統數據分區下的數據文件和緩存文件連接到備份文件夾下對應的文件上,并保存到所述備份文件夾中,將所述數據文件和所述緩存文件重連接到存儲卡根目錄對應的文件上。本發明實施例的目的是實現在Android系統外置的存儲卡安裝應用程序而無需用戶干預,為此,在本步驟中修改了開機流程,使得Android系統建立一個能夠滿足上述目的的文件結構,建立好文件連接關系。在系統內核啟動完畢后,在初始化進程階段完成系統(System)分區和數據(Data)分區的掛載。若系統是第一次開機,則需要創建備份文件夾,用于在設備沒有外置存儲卡時,能夠備份存儲系統預裝的應用程序,將系統數據分區下的數據文件和緩存文件連接到所述備份文件夾對應的文件上,并保存到備份文件夾中,當外置有存儲卡時,將所述數據文件和緩存文件重連接到存儲卡根目錄對應的文件上。這樣,在系統啟動初始化完畢后,在系統沒有掛載存儲卡時,只加載備份文件夾下的預安裝應用程 序,在掛載有存儲卡時,可以切換到存儲卡上的應用程序安裝列表,用戶可以瀏覽系統預裝應用和安裝在存儲卡上的第三方應用。步驟S102、根據所述存儲卡的插拔狀態,將所述存儲卡根目錄或所述備份文件夾中的數據文件和緩存文件連接為系統數據分區下對應的文件。本實施例中,若檢測到存儲卡為掛載狀態,則將存儲卡根目錄下的數據文件和緩存文件連接為系統數據分區下對應的文件;若檢測到存儲卡為卸載狀態,則備份文件夾下的數據文件和緩存文件。因此,在本發明實施例中,支持存儲卡熱插拔,通過動態檢測存儲卡的插拔狀態,做出相應動作。在系統有存儲卡的時候,系統提供給用戶的應用程序包括系統預安裝的應用程序和用戶自行安裝的第三方應用程序;在沒有存儲卡的時候,系統提供 給用戶可以訪問的應用程序包括系統預安裝的應用程序。步驟S103、當存儲卡為掛載狀態時,完成系統數據分區中與存儲卡中的數據文件和緩存文件的動態切換,同時將安裝應用程序產生的文件數據復制到存儲卡根目錄對應的目錄中。此步驟修改了現有的應用包安裝策略,在存儲卡為卸載狀態時,由于此時系統數據分區下的與應用程序相關的數據文件和緩存文件已經連接到備份文件夾下對應的文件,因此用戶可以直接安裝應用程序,安裝應用程序產生的文件數據保存在備份文件夾中。當存儲卡為掛載狀態時,對系統數據分區中與存儲卡中的數據文件和緩存文件進行動態切換,同時將安裝應用程序產生的數據文件復制到存儲卡根目錄對應的目錄中,將用戶自行安裝的第三方應用程序數據存放在存儲卡中,節省了系統數據分區的容量空間,滿足了用戶安裝第三方應用程序的需求。作為一種優選的實施方式,請參見圖2,圖2是圖I中步驟SlOl的具體流程圖。如圖2所示,所述步驟SlOl具體包括步驟S201、啟動Android系統,若系統數據分區下沒有備份文件夾則創建備份文件夾。本步驟啟動Android系統時首先啟動系統內核,當系統內核啟動完畢后,掛載系統分區和數據分區,判斷當前是否為系統的第一次開機,如果是第一次開機,那么還需在系統數據分區/data目錄下創建/data/data_back備份文件夾,作為在沒有存儲卡的時候,預裝應用程序相關文件的備份存儲的地方。步驟S202、系統數據分區下的數據文件和緩存文件是連接文件,則刪除這兩個文件并同時將這兩個文件連接到所述備份文件夾對應的文件上。判斷系統數據分區下的數據文件/data/data和緩存文件/data/dalvik-cache是否為連接文件,如果是連接文件則刪除/data/data和/data/dalvik-cache ;同時將/data/data 以及 /data/dalvik-cahce 連接到 /data/data_back 目錄對應的文件。步驟S203、Android系統啟動完畢后,若所述備份文件夾中不存在所述數據文件和所述緩存文件,則將系統數據分區下的數據文件和緩存文件備份到所述備份文件夾中。在Android系統啟動結束完成后,判斷/data/data_back目錄下是否有data和dalvik-cache 文件,如果沒有就將 /data/data 和 /data/dalvik-cache 備份到 /data/data_back目錄,本步驟確保備份文件夾/data/data_back下有data和dalvik-cache文件,在沒有存儲卡的時候系統可以從備份文件夾加載應用程序。 步驟S204、若所述存儲卡中存在所述數據文件和所述緩存文件,則將系統數據分區下的數據文件和緩存文件重連接到所述存儲卡根目錄對應的文件上。判斷存儲卡根目錄/mnt/sdcard是否存在data和dalvik-cache,如果存在則完成/data/data 和 /data/dalvik-cache 的重連接(Relink)操作,即將 /data/data 和 /data/dalvik-cache這兩個與應用程序相關的文件重連接(Relink)到/mnt/sdcard目錄對應的文件上去。這樣,系統可以自動切換到存儲卡上的應用程序安裝列表,使得用戶可以瀏覽系統預安裝程序和安裝在存儲卡上的程序。本優選實施例通過修改Android系統開機流程,使得可以支持在沒有存儲卡的時候只加載預備份在/data/data_back路徑下的預安裝應用程序;同時在系統開機之前插入存儲卡的時候,可以被系統自動識別并切換到存儲卡上面的應用程序安裝列表,終端用戶可以瀏覽包括預裝應用以及已安裝在存儲卡上面的第三方應用程序。進一步作為優選的實施方式,請參見圖3,圖3是圖I中步驟S102的具體流程圖。如圖3所示,所述步驟S102具體包括步驟S301、監聽系統發出的存儲卡狀態變更意圖(Intent)廣播;步驟S302、當偵測到存儲卡的掛載(Mount)廣播后,若存儲卡根目錄存在數據文件和緩存文件,則刪除系統數據分區下的數據文件和緩存文件,并將存儲卡根目錄下數據文件和緩存文件連接為系統數據分區下對應的文件;步驟S303、當偵測到存儲卡的掛載(Mount)廣播后,若存儲卡根目錄不存在數據文件和緩存文件,則將備份文件夾下的數據文件和緩存文件復制到存儲卡根目錄,再刪除系統數據分區下的數據文件和緩存文件,最后將存儲卡根目錄下的數據文件和緩存文件重連接為系統數據分區下對應的文件;步驟S304、當偵測到存儲卡的卸載(Unmount)廣播后,此時刪除系統數據分區下的數據文件和緩存文件,再將備份文件夾中的數據文件和緩存文件連接為系統數據分區下對應的文件。本優選實施方式通過監聽系統的意圖(Intent)廣播能夠實時獲取存儲卡的插拔狀態,當偵測到存儲卡的Mount廣播后,表明當前存儲卡為掛載狀態,首先判斷/mnt/sdcard/data 和 /mnt/sdcard/dalvik-cache 是否存在,如果存在則刪除 /data/data 和 /data/dalvik-cache,并將/mnt/sdcard根目錄下對應的文件連接為/data/目錄對應的文件;如果不存在,則先將/data/data_back/下的data和dalvik-cache復制到/mnt/sdcard根目錄;然后刪除當前/data目錄下的data和dalvik-cache,最后將data和dalvik-cache做重連接(Relink)操作,即將/mnt/sdcard目錄下的data和dalvik-cache連接為/data目錄下對應的文件。當偵測到存儲卡的卸載(Unmount)廣播后,表明存儲卡為卸載狀態,首先刪除/data目錄下的data和dalvik-cache文件,然后將已經備份在/data/data_back目錄下的data和dalvik-cache連接為/data目錄對應的文件。通過本優選實施方式,完成對存儲卡的動態偵測,支持存儲卡熱插拔,使得Android操作系統在存儲卡存在或者不存在的情況下都可以正常工作。進一步作為優選的實施方式,請參閱圖4,圖4是圖I中步驟S103的具體流程圖。如圖4所示,所述步驟S103具體包括步驟S401、在安裝應用程序前刪除系統數據分區下已經連接到存儲卡根目錄對應文件的數據文件和緩存文件; 步驟S402、將系統分區下的數據文件和緩存文件連接至所述備份文件夾下對應的文件;步驟S403、正常安裝應用程序,安裝完畢后將所述備份文件夾下、與所安裝的應用程序對應的文件數據復制到所述存儲卡根目錄中對應目錄中;步驟S404、刪除系統數據分區下已經連到所述備份文件夾的數據文件和緩存文件,并重連接至所述存儲卡根目錄對應的文件。本優選實施方式具體給出了系統數據分區中與存儲卡中的數據文件和緩存文件的動態切換方式,若系統沒有外置存儲卡,即存儲卡為卸載狀態,用戶只能在備份文件夾中安裝第三方應用程序。若系統外置有存儲卡,用戶在安裝應用程序前,將已經連接到存儲卡根目錄對應文件的 /data/data 和 /data/dalvik-cache 刪除,再將/data/data 和 /data/dalvik-cache連接至/data/data_back/目錄對應的文件,再在終端上安裝應用程序,當程序安裝完畢后,將/data/data_back/目錄下與剛才安裝的應用程序對應的文件數據復制到存儲卡根目錄中的對應目錄下,最后刪除現有的連接至/ data/data_back目錄的數據文件和緩存文件,重新連接至存儲卡根目錄下的對應文件。因Android操作系統是基于Linux內核的開源系統,所以對于FAT32和NTFS文件系統是不支持直接在其分區上安裝應用程序,而本優選實施方式,通過修訂打包安裝(PackageInstaller)策略,在系統掛載有存儲卡時,將系統數據分區中與存儲卡中的數據文件和緩存文件進行動態切換,最終由用戶自行安裝的應用程序數據存放在存儲卡上。實施例二 :請參見圖5,圖5是本發明基于Android系統的內存擴展裝置較佳實施例的結構方框圖。如圖5所示,本發明實施例二提供的一種基于Android系統的內存擴展裝置的結構方框圖,為了便于說明僅示出了與本發明實施例相關的部分。本實施例提供的內存擴展裝置包括系統啟動連接單元501,用于將系統數據分區下的數據文件和緩存文件連接到備份文件夾下對應的文件上,并保存到所述備份文件夾中,將所述數據文件和所述緩存文件重連接到存儲卡根目錄對應的文件上;
文件連接單元502,用于根據所述存儲卡的插拔狀態,將所述存儲卡根目錄或所述備份文件夾中的數據文件和緩存文件連接為系統數據分區下對應的文件;應用程序安裝單元503,用于當存儲卡為掛載狀態時,對系統數據分區中與存儲卡中的數據文件和緩存文件進行動態切換,同時將安裝應用程序產生的文件數據復制到所述存儲卡根目錄對應的目錄中。本實施例中,系統啟動連接單元501將系統數據分區下的數據文件和緩存文件連接到所述備份文件夾對應的文件上,并保存到備份文件夾中,當外置有存儲卡時,將所述數據文件和緩存文件重連接到存儲卡根目錄對應的文件上。這樣,在系統啟動初始化完畢后,在系統沒有掛載存儲卡時,只加載備份文件夾下的預安裝應用程序,在掛載有存儲卡時,可以切換到存儲卡上的應用程序安裝列表,用戶可以瀏覽系統預裝應用和安裝在存儲卡上的第三方應用。文件連接單元502若檢測到存儲卡為掛載狀態,則將存儲卡根目錄下的數據文件和緩存文件連接為系統數據分區下對應的文件;若檢測到存儲卡為卸載狀態,則備份文件夾下的數據文件和緩存文件。應用程序安裝單元503對系統數據分區中與存儲卡中的數據文件和緩存文件進行動態切換,同時將安裝應用程序產生的數據文件復制到存儲卡根 目錄對應的目錄中,將用戶自行安裝的第三方應用程序數據存放到存儲卡中,節省了系統數據分區的容量空間,滿足了用戶安裝第三方應用程序的需求。進一步作為優選的實施方式,請參閱圖6,圖6是圖5中系統啟動連接單元的結構方框圖。如圖6所示,所述系統啟動連接單元501具體包括備份文件夾創建模塊601,用于啟動Android系統,若系統數據分區下沒有備份文件夾則創建備份文件夾;連接備份文件夾模塊602,用于若系統數據分區下的數據文件和緩存文件是連接文件,則刪除這兩個文件并同時將這兩個文件連接到所述備份文件夾對應的文件上;文件備份模塊603,用于Android系統啟動完畢后,若所述備份文件夾中不存在所述數據文件和所述緩存文件,則將系統數據分區下的數據文件和緩存文件備份到所述備份文件夾中;文件重連接模塊604,用于若所述存儲卡中存在所述數據文件和所述緩存文件,則將系統數據分區下的數據文件和緩存文件重連接到所述存儲卡根目錄對應的文件上。本優選實施例中,備份文件夾創建模塊601在內核啟動完畢后,掛載系統分區和數據分區,判斷當前是否為系統的第一次開機,如果是第一次開機,那么還需在系統數據分區/data目錄下創建/data/data_back備份文件夾,連接備份文件夾模塊602判斷系統數據分區下的數據文件/data/data和緩存文件/data/dalvik-cache是否為連接文件,如果是連接文件則刪除 /data/data 和 /data/dalvik-cache ;同時將 /data/data 以及 /data/dalvik-cahce連接到/data/data_back目錄對應的文件。文件備份模塊603在Android系統啟動結束完成后,判斷/data/data_back目錄下是否有data和dalvik-cache文件,如果沒有就將/data/data和/data/dalvik-cache備份到/data/data_back目錄,本步驟確保備份文件夾/data/data_back下有data和dalvik-cache文件,在沒有存儲卡的時候系統可以從備份文件夾加載應用程序。文件重連接模塊604判斷存儲卡根目錄/mnt/sdcard是否存在data和dalvik-cache,如果存在則完成/data/data和/data/dalvik-cache的重連接(Relink)操作,即將/data/data和/data/dalvik-cache這兩個與應用程序相關的文件重連接(Relink)到/mnt/sdcard目錄對應的文件上去。這樣,系統可以自動切換到存儲卡上的應用程序安裝列表,使得用戶可以瀏覽系統預安裝程序和安裝在存儲卡上的程序。進一步作為優選的實施方式,請參閱圖7,圖7是圖5中文件連接單元的結構方框圖。如圖7所示,所述文件連接單元502具體包括廣播偵測認定模塊701,用于通過監聽系統發出的存儲卡狀態變更意圖廣播,當偵測到存儲卡的安裝掛載廣播后,即可認定存儲卡為掛載狀態,當偵測到存儲卡的卸載廣播后,即可認定存儲卡為卸載狀態。根目錄連接模塊702,用于當所述存儲卡為掛載狀態,且所述存儲卡根目錄存在數據文件和緩存文件,則刪除系統數據分區下的數據文件和緩存文件,并將所述存儲卡根目錄下數據文件和緩存文件連接為系統數據分區下對應的文件; 根目錄重連接模塊703,用于當所述存儲卡為掛載狀態,但所述存儲卡根目錄不存在所述數據文件和所述緩存文件,則將備份文件夾下的數據文件和緩存文件復制到所述存 儲卡根目錄,再刪除系統數據分區下的數據文件和緩存文件,最后將存儲卡根目錄下的數據文件和緩存文件重連接為系統數據分區下對應的文件;備份文件夾連接單元704,用于當存儲卡為卸載狀態,則刪除系統數據分區下的數據文件和緩存文件,再將所述備份文件夾中的數據文件和緩存文件連接為系統數據分區下對應的文件。進一步作為優選的實施方式,請參閱圖8,圖8是圖5中應用程序安裝單元的結構方框圖。如圖8所示,所述應用程序安裝單元503具體包括文件刪除模塊801,用于在安裝應用程序前刪除系統數據分區下已經連接到存儲卡根目錄對應文件的數據文件和緩存文件;系統數據文件連接模塊802,用于將系統分區下的數據文件和緩存文件連接至所述備份文件夾下對應的文件;程序安裝數據復制模塊803,用于正常安裝應用程序,安裝完畢后將所述備份文件夾下、與所安裝的應用程序對應的文件數據復制到所述存儲卡根目錄中對應目錄中;存儲卡重連接模塊804,用于刪除系統數據分區下已經連到所述備份文件夾的數據文件和緩存文件,并重連接至所述存儲卡根目錄對應的文件。本優選實施方式中,若系統沒有外置存儲卡,即存儲卡為卸載狀態,用戶只能在備份文件夾中安裝第三方應用程序。若系統外置有存儲卡,用戶在安裝應用程序前,文件刪除模塊801將已經Link到存儲卡根目錄對應文件/data/data和/data/dalvik-cache刪除,系統數據文件連接模塊802再將/data/data和/data/dalvik-cache連接至/data/data_back/目錄對應的文件,再在終端上安裝應用程序,當程序安裝完畢后,程序安裝數據復制模塊803將/data/data_back/目錄下與剛才安裝的應用程序對應的文件數據復制到存儲卡根目錄中的對應目錄下,最后存儲卡重連接模塊804刪除現有的連接至/data/data_back目錄的數據文件和緩存文件,重新連接至存儲卡根目錄下的對應文件。因Android操作系統是基于Linux內核的開源系統,所以對于FAT32和NTFS文件系統是不支持直接在其分區上安裝應用程序,而本優選實施方式,通過修訂打包安裝(PackagelnstalIer)策略,在系統掛載有存儲卡時,將系統數據分區中與存儲卡中的數據文件和緩存文件進行動態切換,最終將用戶自行安裝的應用程序數據存放在存儲卡上。
實施例三:本發明實施例三還提供了一種Android系統終端,所述終端包括如實施例二所述的基于Android系統的內存擴展裝置。例如所述終端可以為智能手機、MID、PAD等等,只要是采用將Android系統數據分區下的與應用程序相關的特定文件(包括數據文件和緩存文件)連接到存儲卡對應文件上,同時修訂Android系統開機流程和打包安裝(PackageInstaller)策略,使得用戶無需額外操作就可以將第三方應用程序安裝在外置存 儲卡上,使用上述方法的終端設備都在本發明的保護范圍之內。通過本發明上述三個實施例提供的基于Android系統的內存擴展方法、裝置及終端設備,用戶可以充分利用終端設備上的存儲空間,解決了無法在終端設備上安裝過多應用程序的問題,用戶不需要做任何操作就可以自由安裝任何為Android操作系統匹配的應用程序,只要其存儲卡足夠大,可以無需考慮系統數據分區容量不足的問題,從根本上解決Android設備應用程序安裝的容量問題。本領域普通技術人員可以理解,實現上述實施例方法中的全部或部分步驟是可以通過程序來指令相關的硬件來完成,所述的程序可以在存儲于一計算機可讀取存儲介質中,所述的存儲介質,如R0M/RAM、磁盤、光盤等。以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發明的保護范圍之內。
權利要求
1.一種基于Android系統的內存擴展方法,其特征在于,所述方法包括 將系統數據分區下的數據文件和緩存文件連接到備份文件夾下對應的文件上,并保存到所述備份文件夾中,將所述數據文件和所述緩存文件重連接到存儲卡根目錄對應的文件上; 根據所述存儲卡的插拔狀態,將所述存儲卡根目錄或所述備份文件夾中的數據文件和緩存文件連接為系統數據分區下對應的文件; 當存儲卡為掛載狀態時,對系統數據分區中與存儲卡中的數據文件和緩存文件進行動態切換,同時將安裝應用程序產生的文件數據復制到所述存儲卡根目錄對應的目錄中。
2.如權利要求I所述方法,其特征在于,所述將系統數據分區下的數據文件和緩存文件連接到備份文件夾下對應的文件上,并保存到所述備份文件夾中,將所述數據文件和所述緩存文件重連接到存儲卡根目錄對應的文件上步驟,具體包括 啟動Android系統,若系統數據分區下沒有備份文件夾則創建備份文件夾; 若系統數據分區下的數據文件和緩存文件是連接文件,則刪除這兩個文件并同時將這兩個文件連接到所述備份文件夾對應的文件上; Android系統啟動完畢后,若所述備份文件夾中不存在所述數據文件和所述緩存文件,則將系統數據分區下的數據文件和緩存文件備份到所述備份文件夾中; 若所述存儲卡中存在所述數據文件和所述緩存文件,則將系統數據分區下的數據文件和緩存文件重連接到所述存儲卡根目錄對應的文件上。
3.如權利要求I所述方法,其特征在于,所述根據所述存儲卡的插拔狀態,將所述存儲卡根目錄或所述備份文件夾中的數據文件和緩存文件連接為系統數據分區下對應的文件步驟,具體包括 當所述存儲卡為掛載狀態,且所述存儲卡根目錄存在所述數據文件和所述緩存文件,則刪除系統數據分區下的數據文件和緩存文件,并將所述存儲卡根目錄下數據文件和緩存文件連接為系統數據分區下對應的文件; 當所述存儲卡為掛載狀態,但所述存儲卡根目錄不存在所述數據文件和所述緩存文件,則將備份文件夾下的數據文件和緩存文件復制到所述存儲卡根目錄,再刪除系統數據分區下的數據文件和緩存文件,最后將存儲卡根目錄下的數據文件和緩存文件重連接為系統數據分區下對應的文件; 當存儲卡為卸載狀態,則刪除系統數據分區下的數據文件和緩存文件,再將所述備份文件夾中的數據文件和緩存文件連接為系統數據分區下對應的文件。
4.如權利要求3所述方法,其特征在于,所述方法還包括 通過監聽系統發出的存儲卡狀態變更意圖廣播,當偵測到存儲卡的安裝掛載廣播后,即可認定存儲卡為掛載狀態,當偵測到存儲卡的卸載廣播后,即可認定存儲卡為卸載狀態。
5.如權利要求1-4中任一項所述的方法,其特征在于,所述當存儲卡為掛載狀態時,對系統數據分區中與存儲卡中的數據文件和緩存文件進行動態切換,同時將安裝應用程序產生的文件數據復制到所述存儲卡根目錄對應的目錄中步驟,具體包括 在安裝應用程序前刪除系統數據分區下已經連接到存儲卡根目錄對應文件的數據文件和緩存文件; 將系統分區下的數據文件和緩存文件連接至所述備份文件夾下對應的文件;正常安裝應用程序,安裝完畢后將所述備份文件夾下、與所安裝的應用程序對應的文件數據復制到所述存儲卡根目錄中對應目錄中; 刪除系統數據分區下已經連到所述備份文件夾的數據文件和緩存文件,并重連接至所述存儲卡根目錄對應的文件。
6.一種基于Android系統的內存擴展裝置,其特征在于,所述裝置包括 系統啟動連接單元,用于將系統數據分區下的數據文件和緩存文件連接到備份文件夾下對應的文件上,并保存到所述備份文件夾中,將所述數據文件和所述緩存文件重連接到存儲卡根目錄對應的文件上; 文件連接單元,用于根據所述存儲卡的插拔狀態,將所述存儲卡根目錄或所述備份文件夾中的數據文件和緩存文件連接為系統數據分區下對應的文件; 應用程序安裝單元,用于當存儲卡為掛載狀態時,對系統數據分區中與存儲卡中的數據文件和緩存文件進行動態切換,同時將安裝應用程序產生的文件數據復制到所述存儲卡根目錄對應的目錄中。
7.如權利要求6所述的裝置,其特征在于,所述系統啟動連接單元包括 備份文件夾創建模塊,用于啟動Android系統,若系統數據分區下沒有備份文件夾則創建備份文件夾; 連接備份文件夾模塊,用于若系統數據分區下的數據文件和緩存文件是連接文件,則刪除這兩個文件并同時將這兩個文件連接到所述備份文件夾對應的文件上; 文件備份模塊,用于Android系統啟動完畢后,若所述備份文件夾中不存在所述數據文件和所述緩存文件,則將系統數據分區下的數據文件和緩存文件備份到所述備份文件夾中; 文件重連接模塊,用于若所述存儲卡中存在所述數據文件和所述緩存文件,則將系統數據分區下的數據文件和緩存文件重連接到所述存儲卡根目錄對應的文件上。
8.如權利要求6所述的裝置,其特征在于,所述文件連接單元包括 根目錄連接模塊,用于當所述存儲卡為掛載狀態,且所述存儲卡根目錄存在數據文件和緩存文件,則刪除系統數據分區下的數據文件和緩存文件,并將所述存儲卡根目錄下數據文件和緩存文件連接為系統數據分區下對應的文件; 根目錄重連接模塊,用于當所述存儲卡為掛載狀態,但所述存儲卡根目錄不存在所述數據文件和所述緩存文件,則將備份文件夾下的數據文件和緩存文件復制到所述存儲卡根目錄,再刪除系統數據分區下的數據文件和緩存文件,最后將存儲卡根目錄下的數據文件和緩存文件重連接為系統數據分區下對應的文件; 備份文件夾連接單元,用于當存儲卡為卸載狀態,則刪除系統數據分區下的數據文件和緩存文件,再將所述備份文件夾中的數據文件和緩存文件連接為系統數據分區下對應的文件。
9.如權利要求8所述的裝置,其特征在于,所述文件連接單元還包括 廣播偵測認定模塊,用于通過監聽系統發出的存儲卡狀態變更意圖廣播,當偵測到存儲卡的安裝掛載廣播后,即可認定存儲卡為掛載狀態,當偵測到存儲卡的卸載廣播后,即可認定存儲卡為卸載狀態。
10.如權利要求6-9中任一項所述的裝置,其特征在于,所述應用程序安裝單元包括文件刪除模塊,用于在安裝應用程序前刪除系統數據分區下已經連接到存儲卡根目錄對應文件的數據文件和緩存文件; 系統數據文件連接模塊,用于將系統分區下的數據文件和緩存文件連接至所述備份文件夾下對應的文件; 程序安裝數據復制模塊,用于正常安裝應用程序,安裝完畢后將所述備份文件夾下、與所安裝的應用程序對應的文件數據復制到所述存儲卡根目錄中對應目錄中; 存儲卡重連接模塊,用于刪除系統數據分區下已經連到所述備份文件夾的數據文件和緩存文件,并重連接至所述存儲卡根目錄對應的文件。
11.一種基于Android系統的終端設備,所述終端設備包括如權利要求6-10中任一項所述的基于Android系統的內存擴展裝置。
全文摘要
本發明公開了基于Android系統的內存擴展方法和裝置及終端設備。該方法包括將系統數據分區下的數據文件和緩存文件連接到備份文件夾下對應的文件上,并保存到備份文件夾中,將數據文件和緩存文件重連接到存儲卡根目錄對應的文件上;根據存儲卡的插拔狀態,將存儲卡根目錄或備份文件夾中的數據文件和緩存文件連接為系統數據分區下對應的文件;當存儲卡為掛載狀態時,對系統數據分區中與存儲卡中的數據文件和緩存文件進行動態切換,同時將安裝應用程序產生的文件數據復制到存儲卡根目錄對應的目錄中。本發明的方法和裝置及終端設備能實現在有存儲卡時將用戶目標安裝程序安裝到存儲卡上,實現對Android操作下系統數據分區擴容的目標。
文檔編號G06F17/30GK102831173SQ20121026497
公開日2012年12月19日 申請日期2012年7月27日 優先權日2012年7月27日
發明者魏江波 申請人:Tcl集團股份有限公司