一种车机显示主题切换方法及装置制造方法及图纸

技术编号:36793946 阅读:13 留言:0更新日期:2023-03-08 22:53
本申请公开了一种车机显示主题切换方法及装置。所述车机显示主题切换方法包括:获取基于云端获取的当前APP的预先缓存的皮肤资源;通过Hook布局渲染器技术,将当前APP的原生控件替换成可换肤的组件,加入换肤控件池;获取当前页面的可换肤的组件;判断是否获取到换肤指令,若是,则根据换肤指令、预先缓存的皮肤资源以及所述换肤控件池对当前页面的各个可换肤的组件进行换肤操作。本申请所提供的车机显示主题切换方法从云端拉取主题包下载到sd卡,然后结合hook和预加载主题资源,无需安装主题资源即可实现主题高效切换。主题资源即可实现主题高效切换。主题资源即可实现主题高效切换。

【技术实现步骤摘要】
一种车机显示主题切换方法及装置


[0001]本申请涉及车辆APP显示主题切换
,尤其涉及一种车机显示主题切换方法以及车机显示主题切换装置。

技术介绍

[0002]现有技术中,目前车机显示主题切换方案主要有下面三种:
[0003]a)所有资源内置到apk包里,优点是切换快速,缺点是apk包过大,且扩展主题成本高;
[0004]b)资源外置到apk包,通过包管理器提取资源并替换组件样式,改方案需要主题包安装到车机,不利于ota;
[0005]c)android原生RRO方式切换主题,优点是稳定性好,缺点是加载延时较长,需要添加等待状态UI。
[0006]因此,希望有一种技术方案来解决或至少减轻现有技术的上述不足。

技术实现思路

[0007]本专利技术的目的在于提供一种车机显示主题切换方法来至少解决上述的一个技术问题。
[0008]本专利技术提供了下述方案:
[0009]根据本专利技术的一个方面,提供一种车机显示主题切换方法,所述车机显示主题切换方法包括:
[0010]获取基于云端获取的当前APP的预先缓存的皮肤资源;
[0011]通过Hook布局渲染器技术,将当前APP的原生控件替换成可换肤的组件,加入换肤控件池;
[0012]获取当前页面的可换肤的组件;
[0013]判断是否获取到换肤指令,若是,则
[0014]根据换肤指令、预先缓存的皮肤资源以及所述换肤控件池对当前页面的各个可换肤的组件进行换肤操作。
>[0015]可选地,在判断是否获取到换肤指令之后,所述车机显示主题切换方法进一步包括:
[0016]判断是否接收到页面切换指令,若是,则
[0017]在将当前页面切换至下一页面之前,获取下一页面的各个可换肤的组件;
[0018]在切换至下一页面之前,将下一页面的各个可换肤的组件根据预先缓存的皮肤资源以及所述换肤控件池进行换肤操作。
[0019]可选地,在所述获取当前APP的预先缓存的皮肤资源之前,所述车机显示主题切换方法进一步包括:
[0020]对需要进行缓存的皮肤资源进行皮肤资源拷贝并进行缓存。
[0021]可选地,所述对需要进行缓存的皮肤资源进行皮肤资源拷贝并进行缓存包括:
[0022]判断私有SD卡目录中是否存在需要进行缓存的皮肤资源,若否,则把需要进行缓存的皮肤资源的apk从云端拷贝到指定各个app下的私有SD卡目录中。
[0023]可选地,所述对需要进行缓存的皮肤资源进行皮肤资源拷贝并进行缓存进一步包括:
[0024]判断私有SD卡目录中是否存在需要进行缓存的皮肤资源,若是,则
[0025]解析私有SD卡目录中的皮肤资源,将皮肤资源对象缓存。
[0026]可选地,在所述解析私有SD卡目录中的皮肤资源,将皮肤资源对象缓存之前,所述对需要进行缓存的皮肤资源进行皮肤资源拷贝并进行缓存进一步包括:
[0027]对私有SD卡目录中的各个皮肤资源进行校验,判断是否校验成功,若是,则
[0028]解析私有SD卡目录中的皮肤资源,将皮肤资源对象缓存。
[0029]可选地,所述对需要进行缓存的皮肤资源进行皮肤资源拷贝并进行缓存进一步包括:
[0030]对私有SD卡目录中的各个皮肤资源进行校验,判断是否校验成功,若否,则
[0031]重新将需要进行缓存的皮肤资源的apk从云端拷贝到指定各个app下的私有SD卡目录中。
[0032]可选地,当私有SD卡目录中存在需要进行缓存的皮肤资源的数量为多个时,所述对需要进行缓存的皮肤资源进行皮肤资源拷贝并进行缓存进一步包括:
[0033]判断各个需要进行缓存的皮肤资源的所需内存是否超过缓存最大限制内存,若是,则
[0034]选取其中一个或多个皮肤资源进行缓存。
[0035]可选地,所述选取其中一个或多个皮肤资源进行缓存包括:
[0036]获取用户使用当前APP时常用的一个或多个皮肤资源;
[0037]判断各个需要进行缓存的皮肤资源中是否具有用户使用当前APP时常用的一个或多个皮肤资源,若是,则
[0038]获取需要进行缓存的皮肤资源中属于用户使用当前APP时常用的一个或多个皮肤资源的皮肤资源作为常用皮肤资源;
[0039]获取各个常用皮肤资源的所需内存;
[0040]判断各个常用皮肤资源的所需内存是否超过缓存最大限制内存,若否,则将各个常用皮肤资源进行缓存。
[0041]本申请还提供了一种车机显示主题切换装置,所述车机显示主题切换装置包括:
[0042]皮肤资源获取模块,所述皮肤资源获取模块用于获取当前APP的预先缓存的皮肤资源;
[0043]换肤控件池构建模块,所述换肤控件池构建模块用于通过Hook布局渲染器技术,将当前APP的原生控件替换成可换肤的组件,加入换肤控件池;
[0044]可换肤组件获取模块,所述可换肤组件获取模块用于获取当前页面的可换肤的组件;
[0045]换肤指令获取判断模块,所述换肤指令获取判断模块用于判断是否获取到换肤指令;
[0046]换肤模块,所述换肤模块用于在所述换肤指令获取判断模块判断为是时,根据预先缓存的皮肤资源以及所述换肤控件池对当前页面的各个可换肤的组件进行换肤操作。
[0047]本申请所提供的车机显示主题切换方法从云端拉取主题包下载到sd卡,然后结合hook和预加载主题资源,无需安装主题资源即可实现主题高效切换。
附图说明
[0048]图1是本专利技术一个或多个实施例提供的车机显示主题切换方法的流程图。
[0049]图2是本专利技术一个或多个实施例提供的车机显示主题切换方法的一种电子设备结构框图。
具体实施方式
[0050]下面将结合附图对本专利技术的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0051]图1是本专利技术一个或多个实施例提供的车机显示主题切换方法的流程图。
[0052]如图1所示的车机显示主题切换方法包括:
[0053]步骤1:获取基于云端获取的当前APP的预先缓存的皮肤资源;
[0054]步骤2:通过Hook布局渲染器技术,将当前APP的原生控件替换成可换肤的组件,加入换肤控件池;
[0055]步骤3:获取当前页面的可换肤的组件;
[0056]步骤4:判断是否获取到换肤指令,若是,则
[0057]步骤5:根据预先缓存的皮肤资源以及所述换肤控件池对当前页面的各个可换肤的组件进行换肤操作。
[0058]本申请所提供的车机显示主题切换方法从云端拉取主题包下载到sd卡,然后结合hook和预加载主题资源,无需安装主题资源即可实现主题高效切换。
[0059]在本实施例本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种车机显示主题切换方法,其特征在于,所述车机显示主题切换方法包括:获取基于云端获取的当前APP的预先缓存的皮肤资源;通过Hook布局渲染器技术,将当前APP的原生控件替换成可换肤的组件,加入换肤控件池;获取当前页面的可换肤的组件;判断是否获取到换肤指令,若是,则根据换肤指令、预先缓存的皮肤资源以及所述换肤控件池对当前页面的各个可换肤的组件进行换肤操作。2.如权利要求1所述的车机显示主题切换方法,其特征在于,在判断是否获取到换肤指令之后,所述车机显示主题切换方法进一步包括:判断是否接收到页面切换指令,若是,则在将当前页面切换至下一页面之前,获取下一页面的各个可换肤的组件;在切换至下一页面之前,将下一页面的各个可换肤的组件根据预先缓存的皮肤资源以及所述换肤控件池进行换肤操作。3.根据权利要求2所述的车机显示主题切换方法,其特征在于,在所述获取当前APP的预先缓存的皮肤资源之前,所述车机显示主题切换方法进一步包括:对需要进行缓存的皮肤资源进行皮肤资源拷贝并进行缓存。4.根据权利要求3所述的车机显示主题切换方法,其特征在于,所述对需要进行缓存的皮肤资源进行皮肤资源拷贝并进行缓存包括:判断私有SD卡目录中是否存在需要进行缓存的皮肤资源,若否,则把需要进行缓存的皮肤资源的apk从云端拷贝到指定各个app下的私有SD卡目录中。5.如权利要求4所述的车机显示主题切换方法,其特征在于,所述对需要进行缓存的皮肤资源进行皮肤资源拷贝并进行缓存进一步包括:判断私有SD卡目录中是否存在需要进行缓存的皮肤资源,若是,则解析私有SD卡目录中的皮肤资源,将皮肤资源对象缓存。6.如权利要求5所述的车机显示主题切换方法,其特征在于,在所述解析私有SD卡目录中的皮肤资源,将皮肤资源对象缓存之前,所述对需要进行缓存的皮肤资源进行皮肤资源拷贝并进行缓存进一步包括:对私有SD卡目录中的各个皮肤资源进行校验,判断是否校验成功,若是,则解析私有SD卡目录中的皮肤资源,将皮...

【专利技术属性】
技术研发人员:陈明
申请(专利权)人:中国第一汽车股份有限公司
类型:发明
国别省市:

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

1