【习题】应用性能优化

判断题

1. 在@Prop和@ObjectLink使用效果相同的场景下,优先使用@ObjectLink的方式减少系统内存开销。

        A、正确(True)        B、错误(False)

单选题

1. cachedCount方法的默认缓存列表项数目为

        A. 0        B. 1        C. 2        D. 3

2. 关于ForEach和LazyForEach,下列说法错误的是?

        A. 当在滚动容器中使用了LazyForEach,框架会根据滚动容器可视区域按需创建组件,当组件滑出可视区域外时,框架会进行组件销毁回收以降低内存占用。

        B. ForEach和LazyForEach会根据定义的键值生成规则为数据源的每个数组项生成唯一键值,并创建相应的组件。

        C. LazyForEach进行非首次渲染时,它会检查新生成的键值是否在上次渲染中已经存在。如果键值不存在,则会创建一个新的组件;如果键值存在,则不会创建新的组件,而是直接渲染该键值所对应的组件。

        D. 仅有List、Grid、Swiper以及WaterFlow组件支持LazyForEach的数据懒加载功能。

多选题

1. 以下对应冷启动不同阶段的优化方法不正确的有

        A. 缩短应用进程创建&初始化阶段耗时:延迟加载

        B. 缩短Application&Ability初始化阶段耗时:减少首页Ability或者Page中import的模块

        C. 缩短Ability生命周期阶段耗时:使用异步加载

        D. 缩短加载绘制首页阶段耗时:设置合适分辨率的startWindowIcon

2. 关于DevEco Profiler性能调优,下列说法正确的是:

        A. Launch:主要用于分析应用/服务的启动耗时,分析启动周期各阶段的耗时情况、核心线程的运行情况等,协助开发者识别启动瓶颈。

        B. Frame:主要用于深度分析应用/服务的卡顿丢帧原因。

        C. Time:主要用于改进函数执行效率的分析,深度录制函数调用栈及每帧耗时等相关运行数据,并完整展现ArkTS到Native的跨语言调用栈,支撑Native API典型问题分析。

        D. Allocation:主要用于应用/服务内存资源占用情况的分析,可深度采集内存相关数据,直观呈现不同分类的内存趋势,提供内存实例分配的调用栈记录,深入分析内存问题。

        E. Snapshot:支持多次拍摄ArkTS堆内存快照,分析单个内存快照或多个内存快照之间的差异,定位ArkTS的内存问题。

        F. CPU:通过深度采集CPU内核相关数据,直观地呈现出当前选择调优应用/服务进程的CPU使用率、CPU各核心时间片调度信息、CPU各核心频率信息、CPU各核心使用率信息、系统各进程的CPU使用情况、线程状态及Trace信息等。

答案

        A

        B C

        AD ABCDEF

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值