利索能及
我要发布
收藏
专利号: 2021100413663
申请人: 武汉斗鱼网络科技有限公司
专利类型:发明专利
专利状态:授权未缴费
更新日期:2025-04-10
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种懒加载实现方法,其特征在于,包括:

确定定义为抽象类的懒加载类,以实现懒加载逻辑功能,并在所述懒加载类中定义目标抽象方法以实现目标逻辑,至少两个目标业务类通过继承所述懒加载类继承懒加载逻辑功能;

在页面实现过程中,通过复写系统提供的目标函数,以在回调所述目标函数时实现目标函数的逻辑功能;

通过复写的目标函数传入所述目标抽象方法,以实现同一目标逻辑在至少两个目标业务类中的实现;

其中,所述目标抽象方法包括获取页面布局ID方法、视图初始化方法以及懒加载初始化逻辑方法;其中,所述获取页面布局ID方法用于实现获取当前页面的布局ID信息,视图初始化方法用于设计视图初始化逻辑,懒加载初始化逻辑方法用于设计懒加载的初始化业务逻辑;

所述方法还包括:

定义一个全局动态获取的打印标签标识变量,以便后续继承的业务类在进行日志输出时打印日志信息;

所述在页面实现过程中,通过复写系统提供的目标函数,以在回调所述目标函数时实现目标函数的逻辑功能,包括:在页面加载时,通过复写系统提供的onCreateView函数,以在页面加载时回调onCreateView函数实现具体的页面布局加载逻辑;

相应的,所述通过复写的目标函数传入所述目标抽象方法,以实现同一目标逻辑在至少两个目标业务类中的实现,包括:在复写onCreateView函数中,传入获取页面布局ID方法,以实现在目标业务类中加载所述获取页面布局ID方法返回当前页面的布局ID信息;其中,所述获取页面布局ID方法的具体实现是通过至少两个目标业务类中的继承功能实现,以实现同一目标逻辑在至少两个目标业务类中的实现;

所述在复写onCreateView函数中,传入获取页面布局ID方法,以实现在目标业务类中加载所述获取页面布局ID方法返回当前页面的布局ID信息,包括:在onCreateView函数中通过调用infalter对象中的inflate方法实现对页面布局的加载;

所述在页面实现过程中,通过复写系统提供的目标函数,以在回调所述目标函数时实现目标函数的逻辑功能,还包括:在页面加载完成后,通过复写系统提供的onViewCreated函数,以在页面加载完成时回调onViewCreated函数实现具体的视图初始化逻辑;

相应的,所述通过复写的目标函数传入所述目标抽象方法,以实现同一目标逻辑在至少两个目标业务类中的实现,包括:在复写onViewCreated函数中,传入视图初始化方法,以实现在目标业务类中获取所述视图初始化方法中具体的视图初始化设计逻辑;其中,所述视图初始化方法的具体实现是通过至少两个目标业务类中的继承功能实现,以实现同一目标逻辑在至少两个目标业务类中的实现;

所述在复写onViewCreated函数中,传入视图初始化方法,以实现在目标业务类中获取所述视图初始化方法中具体的视图初始化设计逻辑,包括:在onViewCreated函数中通过调用视图初始化initView实现具体的视图初始化设计逻辑。

2.根据权利要求1所述的方法,其特征在于,在页面实现过程中,通过复写系统提供的目标函数,以在回调所述目标函数时实现目标函数的逻辑功能,包括:在页面可见时,通过复写系统提供的onResume函数,以在页面可见时回调onResume函数实现页面的加载可见逻辑;

相应的,通过复写的目标函数传入所述目标抽象方法,以实现同一目标逻辑在至少两个目标业务类中的实现,包括:在复写onResume函数中,传入懒加载初始化逻辑方法,以实现在目标业务类中获取所述懒加载初始化逻辑方法中具体的懒加载初始化设计逻辑;其中,所述懒加载初始化逻辑方法的具体实现是通过至少两个目标业务类中的继承功能实现,以实现同一目标逻辑在至少两个目标业务类中的实现。

3.根据权利要求2所述的方法,其特征在于,所述方法还包括:

定义全局变量用于标记当前页面是否加载;

相应的,在复写onResume函数中,传入懒加载初始化逻辑方法,包括:在复写onResume函数中,首先通过所述全局变量判断当前页面是否加载,以及通过调用系统的可见状态判断函数判断当前页面是否处于可见状态;

若当前页面没有加载且处于不可见状态,则传入懒加载初始化逻辑方法,并在所述懒加载初始化逻辑方法调用完成后修改所述全局变量以标记当前页面已加载。

4.根据权利要求3所述的方法,其特征在于,在页面实现过程中,通过复写系统提供的目标函数,以在回调所述目标函数时实现目标函数的逻辑功能,包括:在页面视图销毁时,通过复写系统提供的onDestroyView函数,以在页面视图销毁时回调onDestroyView函数实现数据的清理操作;

在复写onDestroyView函数中,修改所述全局变量以标记当前页面未加载。

5.一种懒加载实现装置,其特征在于,包括:

抽象定义模块,用于确定定义为抽象类的懒加载类,以实现懒加载逻辑功能,并在所述懒加载类中定义目标抽象方法以实现目标逻辑,至少两个目标业务类通过继承所述懒加载类继承懒加载逻辑功能;

函数复写模块,用于在页面实现过程中,通过复写系统提供的目标函数,以在回调所述目标函数时实现目标函数的逻辑功能;

方法传入模块,用于通过复写的目标函数传入所述目标抽象方法,以实现同一目标逻辑在至少两个目标业务类中的实现;

其中,所述目标抽象方法包括获取页面布局ID方法、视图初始化方法以及懒加载初始化逻辑方法;其中,所述获取页面布局ID方法用于实现获取当前页面的布局ID信息,视图初始化方法用于设计视图初始化逻辑,懒加载初始化逻辑方法用于设计懒加载的初始化业务逻辑;

所述装置还用于:

定义一个全局动态获取的打印标签标识变量,以便后续继承的业务类在进行日志输出时打印日志信息;

所述函数复写模块,包括:

加载函数复写单元,用于:在页面加载时,通过复写系统提供的onCreateView函数,以在页面加载时回调onCreateView函数实现具体的页面布局加载逻辑;

相应的,所述方法传入模块,包括:

加载方法传入单元,用于:在复写onCreateView函数中,传入获取页面布局ID方法,以实现在目标业务类中加载所述获取页面布局ID方法返回当前页面的布局ID信息;其中,所述获取页面布局ID方法的具体实现是通过至少两个目标业务类中的继承功能实现,以实现同一目标逻辑在至少两个目标业务类中的实现;

所述在复写onCreateView函数中,传入获取页面布局ID方法,以实现在目标业务类中加载所述获取页面布局ID方法返回当前页面的布局ID信息,包括:在onCreateView函数中通过调用infalter对象中的inflate方法实现对页面布局的加载;

所述函数复写模块,还包括:

视图初始化函数复写单元,用于:在页面加载完成后,通过复写系统提供的onViewCreated函数,以在页面加载完成时回调onViewCreated函数实现具体的视图初始化逻辑;

相应的,所述方法传入模块,还包括:

视图初始化方法传入单元,用于:在复写onViewCreated函数中,传入视图初始化方法,以实现在目标业务类中获取所述视图初始化方法中具体的视图初始化设计逻辑;其中,所述视图初始化方法的具体实现是通过至少两个目标业务类中的继承功能实现,以实现同一目标逻辑在至少两个目标业务类中的实现;

所述在复写onViewCreated函数中,传入视图初始化方法,以实现在目标业务类中获取所述视图初始化方法中具体的视图初始化设计逻辑,包括:在onViewCreated函数中通过调用视图初始化initView实现具体的视图初始化设计逻辑。

6.一种电子设备,其特征在于,包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1‑4中任一所述的懒加载实现方法。

7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1‑4中任一所述的懒加载实现方法。