第4讲 cameraserver.rc详解(下) - Android Camera Native Framework

本讲是Android Camera Native Framework专题的第4讲,我们介绍cameraserver.rc详解(下),包括如下内容:

  1. Android init语言简介
  2. cameraserver.rc详解
    • service
    • user选项
    • group选项
    • ioprio选项
    • task_profiles选项
    • rlimit选项

更多资源:

资源 描述
在线课程 极客笔记在线课程
知识星球 星球名称:深入浅出Android Camera 星球ID: 17296815
Wechat 极客笔记圈

ioprio选项

通过ioprioset系统调用,为该服务设置IO优先级类别和IO优先级

语法

ioprio <class> <priority>
  • Class: 只能为“rt”, “be”, 或 “idle”
  • Priority:从0到7

ioprio选项

task_profiles选项

配置Cgroup(control groups)。这是为了取代使用writepid选项将一个进程移入一个cgroup。

Cgroup是用来限制、控制与分离一个进程组的资源(如CPU、内存、磁盘、输入输出等)。

语法

task_profiles <profile> [ <profile>* ]

在手机里面可以查看相关JSON文件查看有哪些Task profiles

  • /system/etc/task_profiles.json
  • /vendor/etc/task_profiles.json

实战:Cameraserver.rc

  • CameraServiceCapacity: /dev/cpuset/camera-daemon,控制可以使用哪些CPU
  • MaxPerformance:/dev/cpuctl/top-app,控制uclamp等信息

    • 通过将cpu.uclamp.min设置为一个较大值,使得一个task看起来像一个“大”任务,使CPU运行在高性能状态,加速任务的处理(尽量往频率高的CPU上调度),提升系统的性能表现;
    • 对于一些后台任务,通过将cpu.uclamp.max设置为较小值,使其看起来像一个“小”任务,使CPU运行在高能效状态,以节省系统的功耗。
    • cpu.uclamp.min/cpu.uclamp.max 取值范围 0.00 – 100.00,格式为两位小数精度的百分比值,比如设置echo 40 > min 就表示clamp min为 40% * 1024 = 409.6

rlimit选项

rlimit(resource limit)用于指定资源限制,作用同setrlimit API。

语法

rlimit <resource> <cur> <max>

常见 resource如下表

rlimit选项

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程

Android Camera Native Framework