跳到主要内容

规则总览

以下是AppAnalyzer规则体检的所有规则,对应用/元服务进行体检的指导请参考应用与元服务体检

DevEco Studio 6.0.1 Beta1及以上版本

功能兼容性

表1

体检规则规则详情应用或元服务规则说明
安装无兼容性问题应用/元服务在其配置支持运行的对应软件版本/设备类型上成功安装。应用,元服务-
启动无兼容性问题应用/元服务正常启动,进入首页界面。应用,元服务-
卸载无残留应用/元服务在其配置支持运行的对应软件版本/设备类型上成功卸载,卸载无残留(包括文件、数据和进程)。应用,元服务-
运行无兼容性问题应用/元服务要求在其支持的OS版本/设备类型上运行不会出现崩溃、冻屏无响应、无法返回等问题。应用,元服务-
元服务静默登录华为账号元服务涉及账号体系和登录能力时,需规范使用华为账号能力进行静默登录,用户界面不能出现“登录”、“注册”、“退出登录”、“注销账号”描述。元服务-
元服务场景化Button组件使用规范禁止底部页签自定义封装场景化Button组件,即用户点击tab页签时,不能直接拉起Button功能页面:快速验证手机号Button、选择头像Button、打开授权设置页Button、打开APP Button、选择收货地址Button、选择发票抬头Button、地图选点Button。元服务-
合理设计申请手机号授权功能业务场景涉及华为账号快速验证手机号button使用时,需规范使用开放能力,不能用户一进入元服务就引导用户关联账号(必须);不允许在页面只放置一个关联按钮/授权手机号按钮而没有其他功能(推荐)元服务-
元服务包结构应符合规范元服务App Pack包中,同一个设备上必须有且仅有一个Entry Hap;不允许包含任何Feature类型的Hap包,可以包含一个或者多个Shared类型的Hsp包,也可以不包含。元服务-
应用要支持64位so文件如果APP集成native so,则要求提供64位so。应用-
元服务内所有包总和大小不超过10MB单个元服务内所有包文件的大小总和不能超过10MB元服务-
应用/元服务的显示名称有意义应用和元服务安装之后的显示名称,在系统语言是中英文和默认语言名字都需要有意义,不可以是默认值或者通用无意义的值。应用,元服务-
卡片isDefault字段不可缺省卡片isDefault不可缺省,每个应用或元服务有且只有一个默认卡片。应用,元服务-
卡片描述以索引展现卡片description字段需要用索引方式填写。应用,元服务-
卡片描述有意义卡片的描述不能是通用值,应该为displayName的详解。应用,元服务-
卡片的显示名称有意义卡片的显示名称取值可以是名称内容,也可以是对名称内容的资源索引,不可以是通用无意义的值,E.g.widget\card\小组件。应用,元服务-
使用App Linking实现支持通过链接拉起应用的功能如果涉及通过链接拉起应用的功能,建议使用App Linking的方式支持该功能。应用-
应用/元服务在折叠屏横竖屏切换时无问题 (从DevEco Studio 6.0.2 Beta1版本开始支持)应用或元服务在折叠屏的展开态进行横竖屏切换时,输入内容不丢失、任务不中断。应用,元服务仅支持API 20及以上的双折叠手机。
应用/元服务在折叠屏支架态切换时无问题 (从DevEco Studio 6.0.2 Beta1版本开始支持)应用或元服务在折叠屏切换至支架态时,输入内容不丢失、任务不中断。应用,元服务
应用/元服务在折叠屏状态切换时无问题 (从DevEco Studio 6.0.2 Beta1版本开始支持)应用或元服务在折叠屏上进行折叠态和展开态切换时,输入内容不丢失、任务不中断。应用,元服务
音视频静音播放 (从DevEco Studio 6.1.0 Beta1版本开始支持)在音视频静音播放场景下,应用在静音播放时需采用share音频焦点策略,不得打断其他音频业务播放。应用仅支持API 23及以上的设备
短音、瞬态音播放 (从DevEco Studio 6.1.0 Beta1版本开始支持)在短音、瞬态音播放场景,应用需采用share、duck或pause音频焦点策略,实现与其它音频业务并发播放或短暂暂停后台音乐、听书等音频业务播放,不得打断其它音频业务并使其无法自动恢复播放。应用仅支持API 23及以上的设备

性能

表2

体检规则规则详情应用或元服务规则
页面内UI容器组件超出屏幕过多避免滑动类容器组件区域超出屏幕显示范围10%。 滑动类容器组件的渲染范围与容器大小相同,超出屏幕的不可见部分为冗余渲染。 在页面切换的场景,过多的冗余渲染,可能会让用户觉得页面切换慢,响应不及时。 建议将滑动类容器组件的大小和位置限定在屏幕显示范围内。 如果因为嵌套滚动等效果,必须超出屏幕的,可以考虑使用分帧多次加载数据的方式,优先渲染可见部分,提升页面切换性能。应用
动态内存峰值占用应用/元服务完成操作后,各类应用在后台的内存占用峰值应≤ 1300MB;应用完成操作后切换到后台,静置3min以后采集内存占用。应用,元服务
前台场景内存峰值占用应用/元服务前台场景峰值内存占用:应用在前台且亮屏使用规程的内存占用应≤ 1500MB。应用,元服务
后台CPU占用峰值应用/元服务后台CPU占用峰值:应用/元服务切换到后台等待3min后,开始采集3min内CPU Load < 5%。应用,元服务
点击操作完成快应用内点击操作完成时延应≤ 900毫秒;时间起点:点击离手;时间终点:转场页面所有占位符加载完成。应用,元服务
滑动过程流畅应用的滑动过程卡顿率≤ 5ms/s;满帧30FPS的游戏类、地图类和视频类的应用帧率应≥ 29FPS。应用,元服务
转场操作流畅应用的应用内转场过程卡顿率≤ 0ms/s;滑动过程卡顿率:动效时间内累计丢帧时间/动效时长。应用,元服务
节点数超过500过多后端Render Server在每帧数据里处理的节点数不应该超过500,否则会造成CPU使用过高,引发帧时延过高,从而导致丢帧。应用,元服务
点击操作响应快应用内点击操作响应时延应≤ 100毫秒;时间起点:点击离手;时间终点:界面发生变化。应用,元服务
滑动操作响应快应用内滑动操作响应时延应≤ 80毫秒;时间起点:手指滑动;时间终点:界面发生变化。应用,元服务
序列化反序列化耗时长使用TaskPool/Worker并发能力时候,会检测对象和方法在跨线程传递时序列化和反序列化的耗时;序列化和反序列化耗时应 ≤ 8ms。应用,元服务
启动加载完成快各类应用的冷启动首帧完成时延应 ≤ 1100毫秒;时间起点:桌面图标点击离手;时间终点:应用首页铺满全屏并且所有占位符加载完成。应用,元服务
组件树节点数目过大避免过大组件树节点数目。建议一个页面使用少于1000个组件树节点,节点树深度少于30层,子节点数不大于60个。应用,元服务
执行函数耗时过长避免执行函数耗时过长。函数执行时间是指函数在一次同步执行中消耗的时间,比如生命周期回调、事件处理函数的同步执行时间。建议单个函数执行周期内运行时间不超过15毫秒。应用,元服务
渲染界面耗时过长避免渲染界面耗时过长。建议单次渲染时间不超过500ms。渲染界面的耗时过长会让用户觉得卡顿,体验较差,出现这一情况时,需要校验下是否同时渲染的区域太大;页面中单个组件的渲染时间不超过15ms。应用,元服务
ForEach中item数量过大ForEach性能。ForEach中item数量要小于50。应用,元服务
单帧属性数量更新内容限制在高帧率场景单帧更新属性数量建议滑动场景不超过300个,非滑动场景不超过1500个。应用,元服务
单帧脏组件数量限制高帧率场景更新组件数量(含布局更新)建议滑动场景不超过30个,非滑动场景单帧更新组件数不超过500个。应用,元服务
web组件初始化耗时长避免web组件初始化耗时过长。在web页面加载场景下,web组件初始化时间不超过60ms。应用,元服务
web执行js耗时避免web页面js执行耗时过长。在web页面加载场景下,web页面单个js编译和执行时间不超过30ms,单个js函数调用时间不超过30ms,总体js编译和执行时间不超过300ms,总体js函数调用时间不超过130ms。应用,元服务
UI线程IO执行耗时长未并行化避免UI线程中执行文件IO耗时过长。UI主线程中,不应出现执行IO函数超过8.3毫秒,如果出现需要进行IO并行化改造。应用,元服务
UI线程应用自身方法耗时长UI线程应用自身方法耗时长检测。应用自身方法耗时长会导致丢帧。应用,元服务
web主资源下载耗时长避免web主资源下载耗时过长。在web页面加载场景下,web主资源下载时间不超过300ms。应用,元服务
web子资源下载耗时长避免web子资源下载耗时过长。在web页面加载场景下,web单个子资源下载时间不超过200ms。应用,元服务
在线短视频类应用快速切换播放起播快短视频起播时延,从用户滑动屏幕抬手后,到短视频第二帧画面(非封面帧)显示时间不应该超过700ms。应用
相机拍照完成快相机从拍照开始到生成可预览照片的完成时延不应超过1000ms。如果超过,建议使用分段式拍照。应用
避免加载超过显示尺寸的图片 (从DevEco Studio 6.0.2 Beta1版本开始支持)避免加载超过显示尺寸的图片,当图片分辨率大于256*256并且面积超过图片组件10%时则认为超过显示尺寸。应用,元服务
在线长视频类应用播放起播快 (从DevEco Studio 6.1.0 Beta2版本开始支持)长视频起播时延,从用户滑动屏幕抬手后,到长视频第二帧画面(非封面帧)显示时间不应该超过800ms。应用,元服务

UX

UX测试支持以下设备:

  • API 20及以上的双折叠、三折叠手机和模拟器。
  • API 20及以上的Pura X Max手机和模拟器。

表3

体检规则规则详情应用或元服务规则
布局基础要求(大屏)设备在折叠/展开或横竖屏切换时,应用中的图片、视频等界面元素应避免出现错位/截断/变形等问题。应用,元服务
图标文字大小适中文字/图标物理大小建议: 展开态文字/图标大小为折叠态的1~1.2倍 (推荐) 不建议大于1.2/1.5倍 (必须) 不建议一排图标数量过多导致信息过密,折叠屏上建议一排不超过8个图标应用,元服务
弹出框大小适中展开态弹出框高度为折叠态的1~1.2倍 (推荐),不建议高度大于1.2倍 (必须)。应用,元服务
宫格图片信息量适中宫格图片控件占比要求(控件高度/屏幕高度): 1)单行图片高度不要太矮,不要低于屏幕高度的1/10,不要超过屏幕高度的2/5; 2)若宫格聚合图片整体作为信息流内容的配图,则建议整体高度不要低于屏幕高度的1/2,不要超过屏幕高度的2/3。应用,元服务
广告图信息量适中广告图控件占比要求(控件高度/屏幕高度): 1)折叠屏展开态横竖屏时,广告图的图片高度不要超过一屏幕的1/2。应用,元服务
上下图文信息量适中1)上下图文结构中,建议信息流场景的图片左对齐,阅读场景的图片居中对齐。 2)图片的物理尺寸:折叠屏上展开态图片的放大倍数建议不超过1.2倍。 图片放大不超过1.2/1.5倍且满足控件高度占比要求 (推荐); 图片放大倍数不超过1.2/1.5倍或满足控件高度占比要求 (必须)。 3)在折叠屏展开态等宽屏设备上最好通过延伸布局、挪移布局等方式让图文进行合理布局,避免图片过高。上下图文控件高度占比要求如下: 首页入口型的上下图文,不建议使用长图,宽图或方图的最大高度不要超过屏幕高度的1/3; 首页信息流结构的上下图文,图片最大高度不超过屏幕高度的2/5; 详情页内容型的上下图文,最大高度不要超过屏幕高度的3/5。应用,元服务
边距适中一般不建议用边距的方式来控制信息量,左右边距的留白不要太大。 同一个应用内不同的页面建议保持相同的边距。 同一个应用在不同端上,可以根据设备屏幕的宽度进行适量的边距调整。应用,元服务

功耗

表4

体检规则规则详情应用或元服务规则
后台进程CPU负载约束(长时任务)应用或元服务后台CPU运行:后台进程持续10分钟CPU负载不得高于10%;(8核负载,即总负载为80%)应用,元服务
后台进程CPU负载约束(短时任务)应用后台CPU运行:后台进程任务期间CPU负载不得高于8%;(8核负载,即总负载为64%)应用
无长时任务的应用退到后台不允许有BT扫描无长时任务的应用或元服务退到后台不允许有蓝牙扫描应用,元服务
无长时任务的应用退后台禁止使用麦克风或扬声器无长时任务的应用或元服务退后台禁止使用麦克风或扬声器应用,元服务
无长时任务的应用退后台禁止使用定位服务无长时任务的应用或元服务退后台禁止使用定位服务应用,元服务
应用退后台禁止使用传感器应用或元服务退后台禁止使用传感器,前台使用时根据业务尽量使用once()接口监听结果应用,元服务
后台合理使用音频播放后台合理使用音频播放应用,元服务
无长时任务的应用退后台对应资源释放,不能有持锁无长时任务的应用退后台对应资源释放,不要直接或者间接持running lock锁应用
音乐类应用设置正确的音乐类型音乐类应用设置正确的音乐类型(如果应用或元服务为非音乐类,请忽略本次报错)应用,元服务
应用处于前台不可见动效不使用资源,及时停止应用处于前台不可见动效不使用资源,及时停止应用,元服务

安全

表5

体检规则规则详情应用或元服务规则
不对外交互的Ability的exported属性需要显式设置为false不对外交互的Ability其exported或visible属性禁止设置为true应用,元服务
对外交互的Ability应设置合理的访问权限对外交互的Ability应设置合理的访问权限应用,元服务
DataShareExtensionAbility权限检查DataShareExtensionAbility内接口设置合理的读写访问权限应用,元服务
应用权限申请遵循最小化原则权限申请满足最小化原则,禁止申请不必要的、新版本废弃的权限应用,元服务
动态公共事件接收器进行访问权限控制对涉及敏感功能的公共事件进行访问权限控制应用,元服务
应用软件应包含的签名信息需要真实有效应用/元服务证书所有者的CN、OU、O、C字段不能为空应用,元服务
三方SDK使用安全合规的版本应用/元服务引入的三方SDK的版本号,在GIIC/信通院上属于安全合规的范围内应用,元服务
非预期文件打包检测检测应用/元服务包体文件目录是否存在.c/.h/.cpp/.cs/.java/.rs/.py/.go/.ets/.js/.ts非预期格式的文件应用,元服务

稳定性

表6

体检规则规则详情应用或元服务规则
应用/元服务崩溃应用/元服务运行过程中无崩溃故障。应用,元服务
应用/元服务卡死应用/元服务运行过程中无冻屏卡死故障。应用,元服务
内存泄露检测出引起内存泄露的代码,提供代码堆栈日志下载。应用,元服务

DevEco Studio 6.0.1 Beta1以下版本

UX测试

仅API 20及以上版本的折叠屏手机可以进行UX测试。

表7

体检规则规则详情应用或元服务规则权重
布局基础要求(大屏)设备在折叠/展开或横竖屏切换时,应用中的图片、视频等界面元素应避免出现错位/截断/变形等问题。应用,元服务5
图标文字大小适中文字/图标物理大小建议: 展开态文字/图标大小为折叠态的1~1.2倍 (推荐) 不建议大于1.2/1.5倍 (必须) 不建议一排图标数量过多导致信息过密,折叠屏上建议一排不超过8个图标应用,元服务5
弹出框大小适中展开态弹出框高度为折叠态的1~1.2倍 (推荐),不建议高度大于1.2倍 (必须)。应用,元服务4
宫格图片信息量适中宫格图片控件占比要求(控件高度/屏幕高度): 1)单行图片高度不要太矮,不要低于屏幕高度的1/10,不要超过屏幕高度的2/5; 2)若宫格聚合图片整体作为信息流内容的配图,则建议整体高度不要低于屏幕高度的1/2,不要超过屏幕高度的2/3。应用,元服务4
广告图信息量适中广告图控件占比要求(控件高度/屏幕高度): 1)折叠屏展开态横竖屏时,广告图的图片高度不要超过一屏幕的1/2。应用,元服务4
上下图文信息量适中1)上下图文结构中,建议信息流场景的图片左对齐,阅读场景的图片居中对齐。 2)图片的物理尺寸:折叠屏上展开态图片的放大倍数建议不超过1.2倍。 图片放大不超过1.2/1.5倍且满足控件高度占比要求 (推荐); 图片放大倍数不超过1.2/1.5倍或满足控件高度占比要求 (必须)。 3)在折叠屏展开态等宽屏设备上最好通过延伸布局、挪移布局等方式让图文进行合理布局,避免图片过高。上下图文控件高度占比要求如下: 首页入口型的上下图文,不建议使用长图,宽图或方图的最大高度不要超过屏幕高度的1/3; 首页信息流结构的上下图文,图片最大高度不超过屏幕高度的2/5; 详情页内容型的上下图文,最大高度不要超过屏幕高度的3/5。应用,元服务4
边距适中一般不建议用边距的方式来控制信息量,左右边距的留白不要太大。 同一个应用内不同的页面建议保持相同的边距。 同一个应用在不同端上,可以根据设备屏幕的宽度进行适量的边距调整。应用,元服务5

功能和兼容性

表8

体检规则规则详情应用或元服务规则权重
应用/元服务支持在当前OS版本/设备类型安装应用/元服务在其配置支持运行的对应软件版本/设备类型上成功安装。应用,元服务5
应用/元服务支持在当前OS版本/设备类型启动应用/元服务正常启动,进入首页界面。应用,元服务5
应用/元服务支持在当前OS版本/设备类型卸载应用/元服务在其配置支持运行的对应软件版本/设备类型上成功卸载,卸载无残留(包括文件、数据和进程)。应用,元服务4
应用/元服务在当前OS版本/设备类型运行稳定应用/元服务要求在其支持的OS版本/设备类型上运行不会出现崩溃、冻屏无响应、无法返回等问题。应用,元服务3
元服务静默登录华为账号元服务涉及账号体系和登录能力时,需规范使用华为账号能力进行静默登录,用户界面不能出现“登录”、“注册”、“退出登录”、“注销账号”描述。元服务4

规格约束

表9

体检规则规则详情应用或元服务规则权重
元服务包结构应符合规范元服务App Pack包中,同一个设备上必须有且仅有一个Entry Hap;不允许包含任何Feature类型的Hap包,可以包含一个或者多个Shared类型的Hsp包,也可以不包含。元服务5
设备类型检测 (从DevEco Studio 6.0.0 Beta2版本开始下线)在一个应用/元服务包中,每个hap包必须明确支持的设备类型,不能为空。应用,元服务5
应用要支持64位so文件如果APP集成native so,则要求提供64位so。应用4
元服务内所有包总和大小不超过10MB单个元服务内所有包文件的大小总和不能超过10MB。元服务2
卡片isDefault字段检测卡片isDefault不可缺省,每个应用或元服务有且只有一个默认卡片。应用,元服务3
卡片description字段检测卡片description字段需要用索引方式填写。应用,元服务4
应用链接跳转检测如果涉及通过链接拉起应用的功能,建议使用App Linking的方式支持该功能。应用3
元服务禁止使用so文件 (从DevEco Studio 6.0.0 Beta2版本开始下线)元服务禁止集成native so,禁止使用so文件。元服务4

性能

表10

体检规则规则详情应用或元服务规则权重
应用/元服务内点击操作响应快起点:点击离手; 终点:界面发生变化; 应用/元服务内点击操作响应时延应≤ 100毫秒。应用,元服务3
应用/元服务内点击操作完成快时间起点:点击离手; 时间终点:转场页面所有占位符加载完成; 应用/元服务内点击操作完成时延应≤ 1600毫秒。应用,元服务3
应用/元服务内滑动操作响应快时间起点:手指滑动; 时间终点:界面发生变化; 应用/元服务内滑动操作响应时延应≤ 80毫秒。应用,元服务3
应用/元服务内滑动过程流畅应用/元服务的滑动过程卡顿率≤ 5ms/s; 满帧30FPS的游戏类、地图类和视频类的应用帧率应≥ 29FPS。应用,元服务3
应用/元服务内转场操作流畅应用/元服务内转场过程卡顿率≤ 0ms/s; 滑动过程卡顿率:动效时间内累计丢帧时间/动效时长。应用,元服务3
应用/元服务动态内存峰值占用应用/元服务完成操作后,各类应用在后台的内存占用峰值应≤ 1300MB; 应用完成操作后切换到后台,静置3min以后采集内存占用。应用,元服务3
应用/元服务前台场景内存峰值占用应用/元服务前台场景峰值内存占用:应用在前台且亮屏使用过程的内存占用应≤ 1500MB。应用,元服务3
应用/元服务后台CPU占用峰值应用/元服务后台CPU占用峰值:应用切换到后台等待3min后,开始采集3min内CPU Load < 5%。应用,元服务3
图形渲染服务处理节点数小于500后端Render Server在每帧数据里处理的节点数不应该超过500,否则会造成CPU使用过高,引发帧时延过高,从而导致丢帧。应用,元服务1

最佳实践

以下体检规则不支持在编译模式为release下运行,请把编译模式切换到debug再重新检测:避免过大组件树节点数目、避免执行函数耗时过长、避免渲染界面耗时过长、ForEach性能检测。

表11

体检规则规则详情应用或元服务规则权重
避免过大组件树节点数目避免过大组件树节点数目。 建议一个页面使用少于1000个组件树节点,节点树深度少于30层,子节点数不大于60个。应用,元服务2
避免执行函数耗时过长避免执行函数耗时过长。 函数执行时间是指函数在一次同步执行中消耗的时间,比如生命周期回调、事件处理函数的同步执行时间。建议单个函数执行周期内运行时间不超过15毫秒。应用,元服务2
避免渲染界面耗时过长避免渲染界面耗时过长。 建议单次渲染时间不超过500ms。渲染界面的耗时过长会让用户觉得卡顿,体验较差,出现这一情况时,需要校验下是否同时渲染的区域太大;页面中单个组件的渲染时间不超过15ms。应用,元服务2
ForEach性能检测ForEach性能。 ForEach中item数量要小于50。应用,元服务2
单帧属性数量更新内容限制在高帧率场景单帧更新属性数量建议滑动场景不超过300个,非滑动场景不超过1500个。应用,元服务2
单帧脏组件数量限制高帧率场景更新组件数量(含布局更新)建议滑动场景不超过30个,非滑动场景单帧更新组件数不超过500个。应用,元服务2
web组件初始化耗时检测避免web组件初始化耗时过长。 在web页面加载场景下,web组件初始化时间不超过60ms。应用,元服务2
web执行js耗时检测避免web页面js执行耗时过长。 在web页面加载场景下,web页面单个js编译和执行时间不超过30ms,单个js函数调用时间不超过30ms,总体js编译和执行时间不超过300ms,总体js函数调用时间不超过130ms。应用,元服务2
UI线程IO执行耗时长未并行化检测避免UI线程中执行文件IO耗时过长。 UI主线程中,不应出现执行IO函数超过8.3毫秒,如果出现需要进行IO并行化改造。应用,元服务2
UI线程应用自身方法耗时长检测避免UI线程中的函数耗时过长。 UI主线程中,不应出现函数超过8.3毫秒。应用,元服务2
web主资源下载耗时检测避免web主资源下载耗时过长。 在web页面加载场景下,web主资源下载时间不超过300ms。应用,元服务2
web子资源下载耗时检测避免web子资源下载耗时过长。 在web页面加载场景下,web单个子资源下载时间不超过200ms。应用,元服务2
短视频起播时延检测时间起点:从用户滑动屏幕抬手后; 时间终点:到短视频第二帧画面(非封面帧); 显示时间≤ 700毫秒应用2
相机拍照完成时延检测相机从拍照开始到生成可预览照片的完成时延不应超过1000ms。 如果超过,建议使用分段式拍照。 注意:请授予相机的权限应用2
应用/元服务非预期文件打包检测 (从DevEco Studio 6.0.0 Beta3版本开始支持)检测应用/元服务包体文件目录是否存在.c/.h/.cpp/.cs/.java/.rs/.py/.go/.ets/.js/.ts非预期格式的文件。应用,元服务2

功耗

表12

体检规则规则详情应用或元服务规则权重
后台进程CPU负载约束(长时任务)应用或元服务后台CPU运行:后台进程持续10分钟CPU负载不得高于10%;(8核负载,即总负载为80%)。应用,元服务1
后台进程CPU负载约束(短时任务)应用后台CPU运行:后台进程任务期间CPU负载不得高于8%;(8核负载,即总负载为64%)。应用1
合理使用蓝牙资源无长时任务的应用或元服务退到后台不允许有蓝牙扫描。应用,元服务1
合理使用麦克风或者扬声器禁止后台无长时任务的应用或元服务使用麦克风或扬声器。应用,元服务1
合理使用GPS资源无长时任务的应用或元服务退后台禁止使用定位服务。应用,元服务1
合理使用sensor资源应用或元服务退后台禁止使用传感器,前台使用时根据业务尽量使用once()接口监听结果。应用,元服务1
后台合理使用音频播放 (从DevEco Studio 6.0.0 Beta3版本开始支持)应用或元服务在后台开启音频播放,禁止不写入数据或者写入静音数据等类似恶意行为应用,元服务2
后台合理使用系统资源无长时任务的应用退后台对应资源释放,不要直接或者间接持running lock锁。应用1
音乐类应用或元服务设置正确的音乐类型 (从DevEco Studio 6.0.0 Beta3版本开始支持)音乐类应用或元服务设置正确的音乐类型,走对应的系统低功耗方案应用,元服务2
应用或元服务处于前台不可见动效不使用资源,及时停止 (从DevEco Studio 6.0.0 Beta3版本开始支持)应用或元服务在前台,不允许有RS绘制空跑应用,元服务4

快速性能

表13

体检规则规则详情应用或元服务规则权重
页面内点击操作完成时延快速检测时间起点:点击离手; 时间终点:转场页面所有占位符加载完成; 应用内点击操作完成时延应≤ 1600毫秒。应用3
页面内滑动过程流畅性快速检测应用的滑动过程卡顿率≤ 5ms/s; 满帧30FPS的游戏类、地图类和视频类的应用帧率应≥ 29FPS。应用3
页面转场操作流畅性快速检测应用的应用内转场过程卡顿率≤ 0ms/s; 滑动过程卡顿率:动效时间内累计丢帧时间/动效时长。应用3
页面内节点数超过500过多快速检测后端Render Server在每帧数据里处理的节点数不应该超过500,否则会造成CPU使用过高,引发帧时延过高,从而导致丢帧。应用1
页面内白块检测应用内页面检测到白块,需要避免快速滑动场景下因数据来不及加载而出现白块。应用1
页面内点击操作响应时延快速检测起点:点击离手; 终点:界面发生变化; 应用内点击操作响应时延应≤ 100毫秒。应用3
页面内滑动响应时延快速检测时间起点:手指滑动; 时间终点:界面发生变化; 应用内滑动操作响应时延应≤ 80毫秒。应用3
避免页面内UI容器组件超出屏幕过多避免滑动类容器组件区域超出屏幕显示范围10%。 滑动类容器组件的渲染范围与容器大小相同,超出屏幕的不可见部分为冗余渲染。 在页面切换的场景,过多的冗余渲染,可能会让用户觉得页面切换慢,响应不及时。 建议将滑动类容器组件的大小和位置限定在屏幕显示范围内。 如果因为嵌套滚动等效果,必须超出屏幕的,可以考虑使用分帧多次加载数据的方式,优先渲染可见部分,提升页面切换性能。应用1
应用冷启动完成时延检测应用首页铺满全屏并且所有占位符加载完成。应用3
避免序列化反序列化耗时长使用TaskPool/Worker并发能力时候,会检测对象和方法在跨线程传递时序列化和反序列化的耗时; 序列化和反序列化耗时应 ≤ 8ms。应用3

安全

表14

体检规则规则详情应用或元服务规则权重
Ability可见性设置检测不对外交互的Ability其exported或visible属性禁止设置为true。应用,元服务2
Ability权限设置检测对外交互的Ability应设置合理的访问权限。应用,元服务2
DataShareExtensionAbility组件权限检测必须对DataShareExtensionAbility内接口设置合理的读写访问权限。应用,元服务2
权限申请最小化原则检测权限申请满足最小化原则,禁止申请不必要的、新版本废弃的权限。应用,元服务2
公共事件接收器权限访问控制检测对涉及敏感功能的公共事件进行访问权限控制。应用,元服务2
应用/元服务签名完整性检测 (从DevEco Studio 6.0.0 Beta2版本开始下线)应用/元服务需保证签名完整性。应用,元服务2
应用/元服务签名信息检测 (从DevEco Studio 6.0.0 Beta5版本开始下线)应用/元服务证书所有者的CN、OU、O、C字段不能为空。应用,元服务2
三方SDK使用经GIIC联盟认证过的安全合规的版本应用/元服务引入的三方SDK的版本号,在GIIC/信通院上属于安全合规的范围内。应用,元服务5

稳定性

表15

体检规则规则详情应用或元服务规则权重
应用/元服务崩溃检测应用或元服务运行过程中无崩溃故障。应用,元服务2
应用/元服务卡死检测应用或元服务运行过程中无冻屏卡死故障。应用,元服务4
应用/元服务内存泄漏检测检测出引起内存泄漏的代码,提供代码堆栈日志下载。应用,元服务4