一种显示方法及电子设备与流程

摘要: 本技术实施例涉及电子,尤其涉及一种显示方法及电子设备。背景技术:1、随着电子设备的发展,电子设备安装的应用程序越来越多,一般电子设备的内存用于临时存储应用程序运...
一种显示方法及电子设备与流程

本技术实施例涉及电子,尤其涉及一种显示方法及电子设备。

背景技术:

1、随着电子设备的发展,电子设备安装的应用程序越来越多,一般电子设备的内存用于临时存储应用程序运行需要的文件。但电子设备的内存是有限的,因此,电子设备在运行期间,常常需要针对内存中存储的满足回收条件(如不常使用)的应用程序的文件执行内存回收,以释放其占用的内存。

2、然而,应用程序运行需要的全部或部分文件未存储在内存中的情况下,若应用程序需要访问这些文件,则需要从外存中读取相关的数据。而从外存中读取数据耗费的时间较长,这样影响了应用程序的正常运行,降低了用户的使用体验。

技术实现思路

1、本技术实施例提供一种显示方法及电子设备,用于保障电子设备的正常运行,减少电子设备的显示卡顿与丢帧。

2、为达到上述目的,本技术的实施例采用如下技术方案:

3、第一方面,本技术实施例提供了一种显示方法,应用于电子设备。在电子设备的应用程序在运行过程中,可以接收到触发该应用程序从当前界面切换为其它界面的操作。响应于该操作,电子设备可以显示其它界面,也可以显示从当前界面切换至其它界面过程中对应的动效。其中,显示动效的过程可以是快速连续地显示多个图像帧的过程。但是,在电子设备合成其它界面或图像帧的同时,电子设备可能需要同时对其它应用程序进行初始化。其中,对其它应用程序初始化的过程可能需要电子设备访问与其它应用程序初始化相关的文件,该文件可能存储在内存中,也可能存储在电子设备的外部存储器中。并且,相较于文件存储在内存中时对文件进行访问,文件存储在外部存储器中时对文件进行访问的耗时更长,如果这一初始化的过程耗时较长,则将造成电子设备无法及时合成其它界面或动效的图像帧,造成显示卡顿或丢帧。

4、在一些实施例中,当电子设备显示第一应用的第一界面时,响应于对第一界面进行从当前界面切换为其它界面的操作(可称为第一操作),显示第二界面。该第二界面可能是与第一界面不同的其它界面,也可能是从第一界面切换到其它界面过程中对应的动效的某一个图像帧。

5、可以理解的,在接收到第一操作之后显示第二界面之前,如果电子设备对与第一应用不同的第二应用进行初始化,此时需要访问第二应用初始化过程中所需的第一文件。如果第一文件未被锁定在电子设备的内存中,电子设备从内存中访问该第一文件时,可能在内存中无法查找到第一文件,此时需要先从外部存储器中将第一文件读取到内存中。而在第一文件被锁定在电子设备的内存中的情况下,电子设备能够直接从内存中访问该第一文件,无需从外部存储器中读取。

6、在上述实施例中,因第一文件被锁定在所述电子设备的内存中,这样,缩短了第二应用初始化的时间,降低第二应用的初始化对第二界面的合成时间的影响,从而保障应用程序的正常运行,避免电子设备出现显示卡顿或掉帧的情况,提升了用户使用体验。

7、在一些实施例中,电子设备的内存被划分为许多小的单元,可以称为页帧。每个页帧可以存储一部分数据,比如应用程序的代码或配置文件可以在内存中以多个页帧的形式存在。另外,当电子设备运行多个应用程序时,内存中的数据会不断被访问,内存中存储的数据也将不断更新。此时,因内存的存储空间有限,电子设备可以根据需要回收一些暂时不需要用到的数据对应的页帧,以便为新的数据对应的页帧腾出内存空间。

8、其中,第一文件存储在电子设备的内存中,第一文件在内存中以第一页帧的形式存在,第一页帧可以是一个或多个页帧。并且,第一页帧对应的每个页帧均配置了锁定标记,如mlock函数的标记,内存管理系统将不会回收带有锁定标记的页帧。这样,第一文件对应的数据将保留在电子设备的内存中,电子设备能够随时在内存中访问到第一文件。

9、在上述实施例中,由于第一文件被锁定在内存中,当应用程序需要访问第一文件时,可以直接从内存中访问到,而不需要从外部存储器读取到内存中。因此,可以显著提高第一文件的访问速度,减少第二应用初始化的加载时间。

10、在一些实施例中,在显示第一应用的第一界面之前,在电子设备首次开机时,可以先从外部存储器读取第二应用的第一文件到内存中。将第一文件加载到内存后,电子设备会将其锁定,也即在后续第一文件的使用过程中,第一文件不会被内存管理系统回收,确保第一文件随时能够在内存中被访问到。

11、在上述实施例中,在首次开机时,也即在用户开始正式使用设备之前,将第一文件锁定在内存中。这样,当第二应用首次初始化时,由于其初始化所需的第一文件已经提前加载到内存中并被锁定,电子设备可以直接从内存中读取该文件,而无需再从外部存储器读取。这大大减少了访问文件的时间,从而加快了第二应用的初始化速度。

12、在一些实施例中,为了将第一文件存储在内存中,电子设备需要先将第一文件从外部存储器读取到内部存储器中,并以页帧的形式存储为第一页帧。并且,可以通过为第一页帧配置锁定标记的方式,将第一文件锁定在内存中。锁定标记用于指示内存管理系统禁止回收页帧。当内存管理系统对内存中存储的页帧进行回收时,如果检查到某个页帧配置有锁定标记,就会跳过这个页帧,不会将其内容移除或覆盖。

13、在上述实施例中,在电子设备首次开机时将第一文件提前从外部存储器读取到内存中,并对第一文件对应的第一页帧配置锁定标记,确保了第一文件不会被回收。当开机后,电子设备需要访问第一文件时,可以直接从内存中访问到,而不需要再次从外部存储器读取。

14、在一些实施例中,在将第一文件从外部存储器读取到内存之前,需要先获取第一文件的基本信息,包括文件路径和文件大小。文件路径可以是第一文件在外部存储器中的具体位置,而文件大小则是第一文件占用的存储空间大小。在将第一文件对应的数据从外部存储器读取到内存之前,需要先创建空白的页帧,用于存放第一文件的数据。

15、接着,根据第一文件的文件路径在外部存储器中查找第一文件。查找到第一文件后,可以在该文件路径读取与第一文件的文件大小相等的数据量,并将这些数据映射到之前创建的空白页帧中。此时,根据映射数据后的空白页帧,得到第一页帧。

16、在上述实施例中,通过获取文件路径和文件大小,创建空白页帧,并将文件数据映射到页帧中,实现了高效、精确的文件读取和内存管理,提高了文件的读取效率,确保关键文件在需要时能够快速被访问,从而提升设备的整体性能。

17、在一些实施例中,第二应用的第一文件除了可以是在首次开机之前为第二应用配置的初始化所需文件以外,还可能是第二应用初始化所需的文件在更新后得到的文件。在显示第一应用的第一界面之前,如果检测到编译优化条件被触发,则需要对第二应用的初始化所需的第二文件进行编译优化,得到编译优化后更新的第一文件。例如,第二文件可以是第二应用的dex文件,第一文件可以是本次对第二应用的dex文件进行编译优化后得到的odex文件。其中,在检测到第二应用被安装、第二应用的代码执行频率超过预设频率值、电子设备的操作系统更新等情况时,可以认为满足编译优化条件,对应用的文件进行编译优化。一般的,编译优化得到的第一文件在运行时会比编译优化前的第二文件更高效。

18、在上述实施例中,将编译优化后更新的文件也锁定在内存中,能够在电子设备需要访问这些更新后的文件时,可以直接从内存中获取更新后的文件,保障第一文件能够被快速访问,节省了第二应用的初始化时间。

19、在一些实施例中,在显示第一应用的第一界面之前,电子设备可以将针对第二文件编译优化后得到的第一文件从外部存储器读取到内存中,并以页帧的形式存储为第一页帧。并且,可以通过为第一页帧配置锁定标记的方式,将第一文件锁定在内存中。锁定标记用于指示内存管理系统禁止回收页帧。当内存管理系统对内存中存储的页帧进行回收时,如果检查到某个页帧配置有锁定标记,就会跳过这个页帧,不会将其内容移除或覆盖。

20、在上述实施例中,在电子设备进行编译优化后得到的第一文件从外部存储器读取到内存中,并对第一文件对应的第一页帧配置锁定标记,确保了第一文件不会被回收。这样,在电子设备需要访问第一文件时,可以直接从内存中访问编译优化后更新的第一文件,不需要从外部存储器读取。

21、在一些实施例中,在锁定第一文件之前,还需对内存中存储的第三文件进行处理。在上述编译优化为第一次编译优化的情况下,第三文件可以是首次开机时锁定的第二应用初始化所需的文件,在上述编译优化不是第一次编译优化的情况下,第三文件可以是上一次编译优化后的得到文件。此时,获取第三文件所在的第二页帧的页帧标识,页帧标识可以是第三文件在内存中所存储为的第二页帧的页帧。根据页帧标识,可以查找到第三文件对应的第二页帧,从而删除第二页帧的锁定标记,使第二页帧可以被内存管理系统所回收。

22、在上述实施例中,通过删除第三文件对应的第二页帧的锁定标记,使被删除锁定标记的第二页帧能够被内存管理系统回收,避免本次编译优化之前的旧版本文件继续占据内存空间。

23、在一些实施例中,电子设备中可以存在对应的配置信息,配置信息中规定了预先设定的需要提前锁定在内存的应用的文件,这些应用可以是频繁在电子设备后台进行初始化的应用,这些应用需要锁定的文件可以是这些应用在初始化时电子设备需要访问的文件。其中,第二应用在配置信息中可以记录为第二应用的应用标识,如第二应用的包名。第二应用需要锁定的文件可以是第二应用初始化所需的第一文件,其中,第一文件可以是一个或多个文件。第一文件的文件标识可以是第一文件的文件扩展名。

24、在上述实施例中,通过在配置信息中预先指定需要锁定在内存中的应用初始化所需的文件,使用应用标识和文件标识记录这些应用对应的文件,以锁定这些应用初始化所需的文件,从而优化配置信息中记录的应用的启动。

25、在一些实施例中,第一文件为第二应用的apk文件、dex文件或odex文件中的一个或多个。例如,第一文件可以是第二应用的apk文件、dex文件或odex文件,也可以是第二应用的dex文件,还可以是第二应用的dex文件或odex文件。

26、第二方面,本技术实施例提供一种电子设备,包括处理器和存储器,存储器用于存储代码指令;处理器用于运行代码指令,使得电子设备以执行如第一方面及其任一种实现方式中描述的方法。

27、第三方面,本技术实施例提供一种计算机可读存储介质,计算机可读存储介质存储有指令,当指令被执行时,使得计算机执行如第一方面及其任一种实现方式中描述的方法。

28、第四方面,本技术实施例提供一种计算机程序产品,包括计算机程序,当计算机程序被运行时,使得计算机执行如第一方面及其任一种实现方式中描述的方法。

29、应当理解的是,本技术实施例的第二方面至第四方面与本技术实施例的第一方面的技术方案相对应,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。