当前位置: 首页 > news >正文

网站地图页面设计做网站哪家便宜

网站地图页面设计,做网站哪家便宜,凡科建站帮忙做网站,东莞网站建设aj一、理论 1.背景 抓取开机 trace 需要使用 userdebug 版本,而我们测试开机性能问题时都要求使用 user 版本,否则会有性能损耗问题。因此想要在抓取开机性能trace 时,需要在 user 版本上打开 atrace 功能之后才能抓取 trace,默认 …

一、理论

1.背景

       抓取开机 trace 需要使用 userdebug 版本,而我们测试开机性能问题时都要求使用 user 版本,否则会有性能损耗问题。因此想要在抓取开机性能trace 时,需要在 user 版本上打开 atrace 功能之后才能抓取 trace,默认 release user 版本是无法直接抓取 trace 的。

2.sepolicy修改

        涉及的更改主要是 atrace.te domain.te 文件, prebuilts/api/30.0/private 下的文件更改是因为需要与 private下的文件保持一致。
private/atrace.te
       atrace 配置原先只在 userdebug eng 版本中才生效,这里是放开对版本类型的限制,使 atrace 配 置对user 版本同样有效。
private/domain.te
同理,因为 atrace domain 类型,这里是放开 user 版本下 atrace debugfs_tracing_debug 类型的
读写权限。

Android版本    Api Level  SDK

Android 14 (Developer Preview)
Android 13.0(T)    33
Android 12.0(S)    31,32
Android 11.0(R)    30
Android 10.0(Q)    29
Android 9.0(Pie)    28
Android 8.1(Oreo)    27
Android 8.0(Oreo)    26
Android 7.1(Nougat)    25
Android 7.0(Nougat)    24
Android 6.0(Marshmallow)    23
Android 5.1(Lollipop)    22
Android 5.0(Lollipop)    21
Android 4.4W(KitKat Wear)    20
Android 4.4(KitKat)    19
Android 4.3(Jelly Bean)    18
Android 4.2(Jelly Bean)    17
Android 4.1(Jelly Bean)    16
Android 4.0.3(IceCreamSandwich)    15
Android 4.0(IceCreamSandwich)    14
Android 3.2(Honeycomb)    13
Android 3.1(Honeycomb)    12
Android 3.0(Honeycomb)    11
Android 2.3.3(Gingerbread)    10
Android 2.3(Gingerbread)    9
Android 2.2(Froyo)    8
Android 2.1(Eclair)    7
Android 2.0.1(Eclair)    6
Android 2.0(Eclair)    5
Android 1.6(Dout)    4
Android 1.5(Cupcake)    3
Android 1.1(Base)    2
Android 1.0(Base)    1

3. 抓取trace

3.1 QCOM平台

3.1.1 抓取atrace日志

替换 atrace.rc 系统中预置的atrace.rc user 版本的 rc ,需要替换成我们修改过的 atrace.rc 。命令如下:
adb push atrace.rc /system/etc/init/atrace.rc
关闭原生 trace 功能,设置 atrace 触发器。命令如下:
$ adb shell
# setprop persist.traced.enable 0
# setprop persist.debug.atrace.boottrace 1
重启设备
设备重启后,在适当的位置抓取 atrace 数据。建议尽快抓取,否则可能出现缓冲区不足导致前面数
据被冲掉的情况。命令如下:
$ adb shell atrace --async_stop -z -c -o /data/local/tmp/atrace.out
/data/local/tmp/atrace.out 下的数据 pull 出来,然后使用 sdk 中的 systrace.py 工具将 atrace 数据
转换成 html 格式。
$ python systrace.py --from-file=atrace.out

3.1.2 抓取zygote启动阶段的trace数据

       由于上面的抓取 atrace 数据的方式是通过 persist.debug.atrace.boottrace 属性来出来的,而 persist 属性 触发器的触发时机是在加载data 分区 persist 属性文件之后。这个时间点远远晚于 zygote 的启动时间,所 以是抓不到zygote 启动阶段的 trace 数据。
       如果想要抓取 zygote 启动阶段的 trace 数据,需要手动将 boottrace 的启动时间调整到 zygote 启动之前。
关闭属性触发器
$ adb shell
# setprop persist.debug.atrace.boottrace 0

修改设备上的init.rc文件

首先将设备中的init.rc文件pull出来

$ adb pull /system/etc/init/hw/init.rc

修改init.rc文件

这里是在启动 zygote-start 的位置,直接将 boottrace 服务启动起来
init.rc push 回设备
$ adb push init.rc /system/etc/init/hw/
重启设备
接下来的操作与 3.1.1 章节重启后的内容一致。

3.2 MTK平台

3.2.1 抓取atrace日志

关闭原生 trace 功能
$ adb shell
# setprop persist.traced.enable 0
打开 mtk systrace 工具
# setprop persist.vendor.boot_trace 1
重启设备
抓取 trace 数据
$ adb shell "cat /sys/kernel/tracing/trace" > SYS_FRACE
通过 trace2html 工具将 trace 数据转换成 html 格式

二、执行操作

如需在启动过程中启用 systrace,请执行以下操作:

在 frameworks/native/cmds/atrace/atrace.rc 中,修改如下:

  write /sys/kernel/debug/tracing/tracing_on 0write /sys/kernel/tracing/tracing_on 0

更改为:

  write /sys/kernel/debug/tracing/tracing_on 1write /sys/kernel/tracing/tracing_on 1

这将启用跟踪功能(默认处于停用状态)。

在 device.mk 文件中,添加以下:

PRODUCT_PROPERTY_OVERRIDES +=    debug.atrace.tags.enableflags=802922
PRODUCT_PROPERTY_OVERRIDES +=    persist.traced.enable=0

在设备专属 init.rc 文件中,添加以下行:

on property:sys.boot_completed=1          // This stops tracing on boot complete
write /d/tracing/tracing_on 0
write /d/tracing/events/ext4/enable 0
write /d/tracing/events/f2fs/enable 0
write /d/tracing/events/block/enable 0

在设备启动后,提取跟踪记录:

adb root && adb shell atrace --async_stop -z -c -o /data/local/tmp/boot_trace
adb pull /data/local/tmp/boot_trace

三、项目中实际应用(MTK QCOM通用)

1.system/core/rootdir/init.rc 添加如下:开机完成关闭trace

on property:sys.boot_completed=1write /d/tracing/tracing_on 0write /d/tracing/events/ext4/enable 0write /d/tracing/events/f2fs/enable 0write /d/tracing/events/block/enable 0

2.frameworks/native/cmds/atrace/atrace.rc

原本start boottrace 触发条件是on late-init  persist.debug.atrace.boottrace=1

下面的修改是直接将on late-init 改成了on early-init 并将persist.debug.atrace.boottrace  条件去掉直接触发start boottrace   可以不用使用我下面的修改,可以按照你们需要调整start boottrace  例如可以在init.rc 不同的trigger阶段去启动boottrace  service.

3.device/qcom/xxx/xxxx.mk  或者build/target/product/base_system.mk 添加属性配置

4.BoardConfig.mk  BOARD_KERNEL_CMDLINE 追加下面字段

BOARD_KERNEL_CMDLINE += trace_buf_size=64M trace_event=cpu_frequency,sched_cpu_util,sched_boost_cpu,cpufreq_interactive,cpu_idle,cpu_frequency,cpu_frequency_limits,sched_wakeup,sched_switch,sched_blocked_reason,sched_cpu_hotplug

高通项目一般在device/qcom/xxxx/BoardConfig.mk

MTK项目一般在device/mediatek/xxxx/BoardConfig.mk

http://www.yayakq.cn/news/474091/

相关文章:

  • 电商类网站开发健康网站模版
  • 深圳的网站建设公司那家好私人网站如何建
  • 网站建站收费网站建设与设计方案
  • 什么软件可以做网站动图建设行业管理信息系统官网
  • 百度站长工具验证wordpress设置配置文件报错
  • 做吗查网站的流量佛山外发加工网
  • 最快做网站的语言软件开发流程管理
  • 常德农科院网站个人婚礼网站设计
  • 淄博做网站跟优化海淘科技上海网站设计
  • 社区app网站模板下载做那种事情的网站
  • 成绩分析智能网站怎么做彭阳网站建设多少钱
  • 重庆大型网站建设重庆网站制作做美食的网站有那一些
  • 什么网站上可以做国际贸易好口碑自适应网站建设
  • 网站开发开题报告西安建站价格
  • 国家有规定必须做可信网站验证儿童7一8岁手工
  • 深圳网站制作hi0755建设银行龙卡信用卡官方网站
  • 网站域名空间多少钱网站建设600分站优缺点
  • 58同城网站建设要多少钱做网站备案的问题
  • 环保材料东莞网站建设wordpress文章没办法显示略缩图
  • 专业的网站建站公司最强大的wordpress
  • 如何做自己的视频网站即墨今天新闻大事
  • 中英文网站用同域名淘宝上开做网站的店铺
  • 怎么做网站后缀识别符号才不会变谷歌网站推广公司
  • 开办时 网站建设费 科目虫虫wap建站源码
  • 柳市网站推广西安专业做网站的
  • 石家庄网站建设方案沈阳seo优化
  • 对网站内容建设的建议wordpress 响应式 企业
  • 免费设计图网站博兴做网站
  • 如何分析竞争对手网站织梦如何新建网站
  • 公众号的网站开发网站按域名跳转不同的页面