自动释放文件资源的方法、存储介质、电子设备以及系统技术方案

技术编号:19857115 阅读:24 留言:0更新日期:2018-12-22 11:37
发明专利技术公开了一种自动释放文件资源的方法、存储介质、电子设备以及系统,涉及计算机信息处理领域,方法包括:设置文件读写函数来对文件进行读写操作,该读写函数被设置为公有类型且具有文件路径这一参数;根据文件路径对所述读写函数进行校验;校验通过后开辟子线程进行读写操作;关闭在读写操作中读取到的文件对象的文件流资源信息并释放文件对象所占用的内存资源;主线程和子线程之间建立通信来获取子线程中读取到的文件内容信息。在子线程中使用读写函数进行读写操作,并在读写完成后将读取的文件对象所占用的内存资源进行清理,所以既能对文件进行读写,又不会因为读取大量的文件对象而导致文件对内存资源的占用,解决了内存泄漏的问题。

【技术实现步骤摘要】
自动释放文件资源的方法、存储介质、电子设备以及系统
本专利技术涉及一种软件内存管理中自动释放文件资源的方法,属于计算机信息处理领域。
技术介绍
在Android软件的开发过程中我们经常会使用到文件等操作功能,文件操作涉及到文件资源的申请,文件对象的操作等。传统方案中使用文件的时候经常会遗忘对文件所占用的内存空间进行释放,这样就非常容易导致“内存泄漏”(MemoryLeak,也就是计算机的内存硬件资源被无用的文件长期占用,导致可用内存空间减少,好比内存库被泄漏了一样,因而得名“内存泄漏”)的风险出现,长时间内存泄漏可能会导致系统异常进而导致程序崩溃。传统方案中操作文件通常都会有文件句柄的持有,文件的读写中也会产生各种各样的异常信息,如果持有文件句柄的文件类没有及时对文件句柄进行释放或者释放出错,这时候就非常容易导致文件资源被占用或者文件无法被打开。也就是说,传统的文件读写过程中容易出现内存泄漏的情况,而现有的文件句柄的方法并不能很好的解决这些问题。
技术实现思路
本专利技术是为了解决上述问题而进行的,目的在于提供一种自动释放文件资源的方法、存储介质、电子设备以及系统。本专利技术提供了一种自动释放文件资源的方法,用于实现文件读写并自动释放内存中的文件所占用的内存资源,其特征在于,包括以下步骤:设置文件读写函数来对文件进行读写操作,该读写函数被设置为公有类型且具有文件路径这一参数;根据文件路径对所述读写函数进行校验;校验通过后开辟子线程进行读写操作;关闭在读写操作中读取到的文件对象的文件流资源信息并释放文件对象所占用的内存资源;主线程和子线程之间建立通信来获取子线程中读取到的文件内容信息。本专利技术提供的自动释放文件资源的方法,还可以具有这样的特征,其中,所述读写操作中包括异常清理步骤,当读写出现异常时,对异常的文件进行提取并清理。本专利技术提供的自动释放文件资源的方法,还可以具有这样的特征,其中,释放文件对象的资源信息的具体过程为:在读写函数的代码块中调用清理函数,子线程向主线程发出内存清理的请求,主线程回应请求,并调用清理函数对子线程进行清理来释放文件对象的资源信息。本专利技术提供的自动释放文件资源的方法,还可以具有这样的特征,其中,所述清理函数是公有类型的。本专利技术提供的自动释放文件资源的方法,还可以具有这样的特征,其中,所述校验的的过程是:判断读写函数中的文件路径这个参数是否为空,如果为空,则校验不通过并结束文件的读取。本专利技术提供的自动释放文件资源的方法,还可以具有这样的特征,其中,读写操作包括以下的过程:开辟子线程,将所述读写函数中的文件路径转变为一个文件对象,判断该文件对象是否存在,存在就进入下一步,当该文件对象存在时就读取到对应的所述文件长度的内容信息,并将该内容信息封装到局部的字符串类型的变量中。本专利技术提供的自动释放文件资源的方法,还可以具有这样的特征,其中,主线程和子线程之间建立通信是依赖线程间通信工具Handler来实现的。本专利技术还提供一种存储介质,该存储介质上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现上述的方法。本专利技术还提供一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,其特征在于:处理器执行计算机程序时实现上述的方法。本专利技术还提供一种自动释放文件资源的系统,用于实现文件读写并自动释放内存中的文件所占用的内存资源,其特征在于,包括:读写函数设置模块,其用于设置文件读写函数来对文件进行读写操作,该读写函数被设置为公有类型且具有文件路径和文件长度这两个参数;校验模块,用于对所述读写函数进行校验;读写操作模块,用于在校验通过后开辟子线程进行读写操作;内存释放模块,用于关闭在读写操作中读取到的文件对象的文件流资源信息并释放文件对象所占用的内存资源;通信模块,用于在主线程和子线程之间建立通信来获取子线程中读取到的文件内容信息。本专利技术的作用和效果在于:根据本专利技术所涉及的自动释放文件资源的方法,因为设置文件读写函数来对文件进行读写操作;对所述读写函数进行校验;校验通过后开辟子线程进行读写操作;关闭在读写操作中读取到的文件对象的文件流资源信息并释放文件对象所占用的内存资源;主线程和子线程之间建立通信来获取子线程中读取到的文件内容信息,也就是说,在子线程中使用读写函数进行读写操作,并在读写完成后将读取的文件对象所占用的内存资源进行清理,不会占用内存,然后将读取到的信息发送给主线程完成文件的读写过程,由于是通过子线程的读写函数来读写并立即消除内存,所以既能对文件进行读写,又不会因为读取大量的文件对象而导致文件对内存资源的占用,解决了内存泄漏的问题。附图说明图1为本专利技术的实施例中的自动释放文件资源的方法的步骤示意图;图2为本专利技术的实施例中的读写操作的具体步骤示意图;图3为本专利技术的实施例中的内存清理的具体步骤示意图;以及图4为本专利技术的实施例中的自动释放文件资源的系统的结构示意图。具体实施方式为了使本专利技术实现的技术手段、创作特征、达成目的与功效易于明白了解,以下实施例结合附图对本专利技术自动释放文件资源的方法、存储介质、电子设备以及系统作具体阐述。本专利技术的自动释放文件资源的方法可以运行在多种操作平台上,包括安卓Android、苹果IOS、微软Windows以及Linux、Unix等平台,通过运用在这些平台上,能够解决设备在文件读写时,自动释放内存中的文件所占用的内存资源,解决内存泄露的问题。以下以运行在智能移动终端的安卓Android系统为例,来具体说明本专利技术的自动释放文件资源的方法。实施例1图1为本专利技术的实施例中的自动释放文件资源的方法的步骤示意图。如图1所示,自动释放文件资源的方法包括以下的步骤S1至S5。步骤S1,设置文件读写函数来对文件进行读写操作,该读写函数被设置为公有类型且具有文件路径这一参数。本步骤主要实现文件读写函数的设计及定义。文件读写通常涉及两个方面的信息:文件路径filePath、要读取文件的长度信息length等。基于上述文件读写的信息本实施例设计了一个文件的读写函数readFile,具体的函数定义如下所示:publicstaticStringreadFile(StringfilePath,longlength)该函数我们设计成为public公有类型的,这样可以方便所有的调用者具有调用该函数的权限。readFile函数读取到的是限定长度为length的内容信息,且内容信息是一个字符String类型的数据,并返回来进行处理。通过设置这样一个文件读写函数readFile,后续对文件的读取都是通过该readFile函数来实现的,并且该函数只需要满足能够实现文件资源的自动释放。步骤S2,根据文件路径对所述读写函数进行校验。在实施文件读取之前首先需要对readFile函数参数进行校验处理,所述校验的的过程是判断读写函数中的文件路径这个参数是否为空,如果为空,则校验不通过并结束文件的读取。具体的校验方法是通过调用filePath==null||filePath.equals(“”)这个函数的方法来判断filePath是否等于空值null,并且判断filePath的字符串内容“”是不是空内容。如果这两个条件有一个成立,说明filePath这个函数的参数在传递过程中会有异常出本文档来自技高网...

【技术保护点】
1.一种自动释放文件资源的方法,用于实现文件读写并自动释放内存中的文件所占用的内存资源,其特征在于,包括以下步骤:设置文件读写函数来对文件进行读写操作,该读写函数被设置为公有类型且具有文件路径这一参数;根据文件路径对所述读写函数进行校验;校验通过后开辟子线程进行读写操作;关闭在读写操作中读取到的文件对象的文件流资源信息并释放文件对象所占用的内存资源;主线程和子线程之间建立通信来获取子线程中读取到的文件内容信息。

【技术特征摘要】
1.一种自动释放文件资源的方法,用于实现文件读写并自动释放内存中的文件所占用的内存资源,其特征在于,包括以下步骤:设置文件读写函数来对文件进行读写操作,该读写函数被设置为公有类型且具有文件路径这一参数;根据文件路径对所述读写函数进行校验;校验通过后开辟子线程进行读写操作;关闭在读写操作中读取到的文件对象的文件流资源信息并释放文件对象所占用的内存资源;主线程和子线程之间建立通信来获取子线程中读取到的文件内容信息。2.根据权利要求1所述的自动释放文件资源的方法,其特征在于:其中,所述读写操作中包括异常清理步骤,当读写出现异常时,对异常的文件进行提取并清理。3.根据权利要求1所述的自动释放文件资源的方法,其特征在于:其中,释放文件对象的资源信息的具体过程为:在读写函数的代码块中调用清理函数,子线程向主线程发出内存清理的请求,主线程回应请求,并调用清理函数对子线程进行清理来释放文件对象的资源信息。4.根据权利要求3所述的自动释放文件资源的方法,其特征在于:其中,所述清理函数是公有类型的。5.根据权利要求1所述的自动释放文件资源的方法,其特征在于:其中,所述校验的的过程是:判断读写函数中的文件路径这个参数是否为空,如果为空,则校验不通过并结束文件的读取。6.根据权利要求1所述的自动释放文件资源的方法,其特征在于:其中,读写...

【专利技术属性】
技术研发人员:张磊陈少杰张文明
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1