System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于计算机,尤其涉及一种flutter引擎管理方法及计算机可读存储介质。
技术介绍
1、当前,跨平台应用在市场上被广泛采用,因其能有效降低成本并提高效率而备受青睐。目前市场上最成熟、应用量最大的跨平台框架之一是flutter。
2、然而,虽然跨平台引擎在提供跨平台开发便利性的同时,长时间的使用却可能导致内存开销较大的问题。特别是在具有登录、退出登录、再次登录等功能的应用中,存在一些内存无法释放的情况。举例而言,当应用启动时内存占用为2mb,成功登录后进入主页面,内存占用可能会增至约10mb左右。但在退出登录后,内存占用可能仍然高达4mb,无法降至启动时的2mb水平。虽然开发者可以对应用业务内存进行管理,释放不再使用的内存,但flutter引擎的内部占用部分内存却无法被释放。因此,如果用户频繁进行登录、退出登录等操作,内存占用可能会逐渐增加,最终导致内存溢出。
技术实现思路
1、本专利技术实施例提供一种flutter引擎管理方法,旨在解决当用户频繁进行登录、退出登录等操作,内存占用可能会逐渐增加,最终导致内存溢出的问题。
2、本专利技术实施例是这样实现的,当检测到app初始化时,初始化flutter引擎;
3、当检测到目标指令时,注销所述flutter引擎;
4、当所述flutter引擎注销成功时,重新初始化flutter引擎,并对flutter登录界面进行渲染。
5、更进一步地,所述目标指令包括app退出登录指令
6、更进一步地,在所述当所述flutter引擎注销成功时,重新初始化flutter引擎,并对flutter登录界面进行渲染之后,还包括:
7、当所述flutter引擎注销成功时,重新初始化flutter引擎,显示预设的原生登录界面,并对flutter登录界面进行渲染;其中,所述原生登录界面的布局与渲染后的flutter登录界面相同;
8、当所述flutter登录界面完成渲染后,将渲染后的flutter登录界面覆盖至所述原生登录界面之上。
9、更进一步地,在所述初始化flutter引擎之后,还包括:
10、初始化底层管理区域,并将所述flutter引擎的第一身份信息存储至所述底层管理区域。
11、更进一步地,所述当检测到目标指令时,注销所述flutter引擎,包括:
12、当检测到目标指令时,获取所述flutter引擎的第二身份信息,并从所述底层管理区域中获取所述第一身份信息;
13、当所述第一身份信息和所述第二身份信息一致时,注销所述flutter引擎。
14、更进一步地,所述注销所述flutter引擎,还包括:
15、销毁未执行的网络请求队列,并且中断正在执行的网络请求。
16、更进一步地,所述注销所述flutter引擎,还包括:
17、中断当前数据库操作,并关闭数据库。
18、更进一步地,所述注销所述flutter引擎,还包括:
19、停止缓存读写操作,并清空缓存数据。
20、更进一步地,所述注销所述flutter引擎,还包括:
21、销毁线程池中的未执行线程和未完成线程,并将线程池清空销毁。
22、本专利技术实施例还提供一种flutter引擎管理装置,包括:
23、第一处理单元,用于当检测到app初始化时,初始化flutter引擎;
24、第二处理单元,用于当检测到目标指令时,注销所述flutter引擎;
25、第三处理单元,用于当所述flutter引擎注销成功时,重新初始化flutter引擎,并对flutter登录界面进行渲染。
26、更进一步地,所述目标指令包括app退出登录指令和app注销指令。
27、更进一步地,flutter引擎管理装置,还包括:
28、第四处理单元,用于当所述flutter引擎注销成功时,重新初始化flutter引擎,显示预设的原生登录界面,并对flutter登录界面进行渲染;其中,所述原生登录界面的布局与渲染后的flutter登录界面相同;
29、第五处理单元,用于当所述flutter登录界面完成渲染后,将渲染后的flutter登录界面覆盖至所述原生登录界面之上。
30、更进一步地,flutter引擎管理装置,还包括:
31、第六处理单元,用于初始化底层管理区域,并将所述flutter引擎的第一身份信息存储至所述底层管理区域。
32、更进一步地,第二处理单元,具体用于:
33、当检测到目标指令时,获取所述flutter引擎的第二身份信息,并从所述底层管理区域中获取所述第一身份信息;
34、当所述第一身份信息和所述第二身份信息一致时,注销所述flutter引擎。
35、更进一步地,第二处理单元,具体用于:
36、销毁未执行的网络请求队列,并且中断正在执行的网络请求。
37、更进一步地,第二处理单元,具体用于:
38、中断当前数据库操作,并关闭数据库。
39、更进一步地,第二处理单元,具体用于:
40、停止缓存读写操作,并清空缓存数据。
41、更进一步地,第二处理单元,具体用于:
42、销毁线程池中的未执行线程和未完成线程,并将线程池清空销毁。
43、本专利技术实施例还提供本申请实施例提供了一种flutter引擎管理设备,该设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的方法。
44、本专利技术实施例还提供本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述的方法。
45、本申请实施例中,当检测到app初始化时,初始化flutter引擎;当检测到目标指令时,注销所述flutter引擎;当所述flutter引擎注销成功时,重新初始化flutter引擎,并对flutter登录界面进行渲染。能够有效解决flutter引擎在应用运行过程中内存无法释放的问题。通过在检测到目标指令时注销flutter引擎,并在成功注销后重新初始化,可以确保释放了引擎占用的内存资源,从而有效降低应用的内存占用量。由于内存优化的实施,应用的整体性能将得到提升。内存占用的有效管理可以减少内存碎片和内存泄漏问题,提高应用的响应速度和稳定性,从而改善用户体验。flutter引擎的稳定性直接影响到应用的整体稳定性。通过定期重新初始化flutter引擎,可以预防因引擎长时间运行而导致的异常和崩溃,提高应用在跨平台环境下的稳定性和可靠性。应用的稳定性和性能提升将直接影响到用户体验。内存优化能够降低应用的卡顿和崩溃现本文档来自技高网...
【技术保护点】
1.一种Flutter引擎管理方法,其特征在于,包括:
2.如权利要求1所述的Flutter引擎管理方法,其特征在于,所述目标指令包括APP退出登录指令和APP注销指令。
3.如权利要求1所述的Flutter引擎管理方法,其特征在于,在所述当所述Flutter引擎注销成功时,重新初始化Flutter引擎,并对Flutter登录界面进行渲染之后,还包括:
4.如权利要求1所述的Flutter引擎管理方法,其特征在于,在所述初始化Flutter引擎之后,还包括:
5.如权利要求4所述的Flutter引擎管理方法,其特征在于,所述当检测到目标指令时,注销所述Flutter引擎,包括:
6.如权利要求5所述的Flutter引擎管理方法,其特征在于,所述注销所述Flutter引擎,还包括:
7.如权利要求5所述的Flutter引擎管理方法,其特征在于,所述注销所述Flutter引擎,还包括:
8.如权利要求5所述的Flutter引擎管理方法,其特征在于,所述注销所述Flutter引擎,还包括:
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至9所述方法的步骤。
...【技术特征摘要】
1.一种flutter引擎管理方法,其特征在于,包括:
2.如权利要求1所述的flutter引擎管理方法,其特征在于,所述目标指令包括app退出登录指令和app注销指令。
3.如权利要求1所述的flutter引擎管理方法,其特征在于,在所述当所述flutter引擎注销成功时,重新初始化flutter引擎,并对flutter登录界面进行渲染之后,还包括:
4.如权利要求1所述的flutter引擎管理方法,其特征在于,在所述初始化flutter引擎之后,还包括:
5.如权利要求4所述的flutter引擎管理方法,其特征在于,所述当检测到目标指令时,注销所述flutter引擎,包...
【专利技术属性】
技术研发人员:张星亮,吴剑文,
申请(专利权)人:深圳市六度人和科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。