专利名称:基于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集团股份有限公司