android 优化策略

kernel 部分:

1、iRom 升级为 V2.1,支持 usb 下载、Readretry 功能,修正了 uboot0 备份的问题,如果用于 x15 需要在 TF 卡外置上拉电阻

2、PMU RICOH618 + x9,bootst 用于判断启动模式(PMU\RTC 寄存器)

3、item 子系统标准化,参数都在 platform_data 里面初始化,其余地方不再调用 item 接口

4、GPIO 采用 Linux 标准子系统

5、clock 子系统也采用 Linux 标准子系统

6、dvfs 子系统

        当前 cpu 的 loading 以及正在运行的线程数决定 cpu 个数,其中 loading 有3个临界点(30%、50%、80%),线程数有3个临界点(2、9、13)

7、功耗优化:

        以太网的 PHY 通过用户设置来打开,可以节约 30mA

        HDMI 的 hotplug 引脚需要打开 PHY 才能用,这里用一个 GPIO 与其连接,当 GPIO 收到中断时才打开 HDMI PHY,可以节约 10mA

8、camera 采用 Linux 标准的 V4L2 架构

9、休眠的时候 GPIO 除了 SDIO、USB、RTC 可以配置状态保留以外,其他的 GPIO 都会复位

10、Tiny OS 采用 buildroot,包含 qt4、gtk2 等库


android 部分:

1、vendor 代码,厂家相关的都存放于 /device 目录下

2、dumpsys infotmic.service

3、支持多分区存储,支持 USB Hub

4、TP 报点准则(和屏幕旋转相关)

        a、X、Y 范围:必须符合竖屏系统的定义即:X 为短轴、Y 为长轴

        b、X、Y 报点:X 为短轴,Y为长轴

5、G-sensor

        a、坐标轴需要为右手系,可以在 HAL 层的 sensor.h 里面定义,framework 层的 ScreenRotationAnimation.java

        b、surfaceflinger 关于 screenshot 的实现固定是按屏幕的物理方向

        c、item 里面可以配置 G-sensor 方向


性能优化:

1、bionic 库:用汇编指令优化 c 库

2、libjpeg、libpng、libwebp、libgif 图标解码库

        NE10 浮点优化、NE10 color space 转化、NE10 rotate 变换

3、webkit 内存和图片硬解码优化

4、java 虚拟机优化(内存)

5、多媒体播放(ffmpeg库、software codec)


android 系统策略优化:

1、显示系统:

        a、view 系统更新 dirty region 大小的计算优化

        b、HW composer 2D 的使用策略评估

        c、硬件 VSYNC 机制优化(android 所有画图都是根据这个同步)

2、屏幕旋转:

        a、预转屏、提高灵敏度

        b、优化 launcher 重布局时间

3、热开关机

        save the heap image (like core dump) of Zygote after preloading classes

4、网络模块

        a、兼容 wifi

        b、以太网标准化

        c、支持蓝牙 profile


用户场景优化:

1、开机优化

        a、preload resource / class

        b、service 裁剪

        c、开机广播消息裁剪

        d、多线程 parse apk


多媒体部分:

1、Audio 采用的都是软解码,所以大部分不能播放的问题应该都能解

2、Video 采用软解 + 硬解

        H.263 采用软解,最高支持 720x576

3、VPU 动态变频(48M - 305M)

        soc.vpu.dvfs 开关   config.media.out rgb565 (rgb888) 解码输出格式

4、字幕支持 3gp、srt 格式

5、多音频 Track

6、ION 内存管理,因为 x9 硬件(MMU)支持小块内存映射成连续内存,所以不需要预留内存

7、性能

        GPU 默认为 300M 并关闭变频,功耗影响不大,如果某些场景视频卡顿有可能是 GPU 变频引起的

8、支持 USB、ISP camera

9、media_profiles.xml

        camera 需要增加这个文件用来配置一些上层用到的参数,不通过 V4L2 获取

10、Wifi - Display


于2014.4.9.

你可能感兴趣的:(系统优化)