Android待机的suspend_sys_sync_queue分析

本文深入分析Android 4.0系统待机时的suspend_sys_sync_queue,探讨其在快速待机和按键进入待机场景下的作用。通过对sys_sync函数的调用分析,指出在待机过程中对数据同步的需求,以及在按键事件处理中可能存在的问题。通过队列方式执行的suspend_sys_sync_work,设定了小于2.5ms的超时时间,确保在输入事件超时前完成,以优化用户体验。
摘要由CSDN通过智能技术生成

Android待机的suspend_sys_sync_queue分析


Android的4.0在待机机制上和之前版本大同小异,也可以说是机制相对完善并没多大的问题反馈出来。不过有个细节的地方,改动幅度较大,来看看


在linux待机机制中,开始待机的时候会调用sys_sync函数,sys_sync系统调用被用户空间函数调用,

用来将缓存中的数据写入块设备,sys_sync系统调用将buffer、inode和super在缓存中的数据写入设备。

此函数的介绍参看博文链接http://blog.chinaunix.net/uid-24237502-id-106067.html。


sys_sync函数执行时间长度依文件系统而定,长至上百毫秒,也有若干毫秒。函数执行的必要性如何呢?

如果有种需求,在很短时间(毫秒级)内需要连续进出待机,sys_sync函数是否需要每次都执行一遍呢?

如果只第一次执行,会有什么隐患问题呢?


由于待机请求有自动超时待机和按键进入待机,自动进入待机问题不大,基本上是闹钟或者计时时间发起事件,

而按键进入待机不同,按键时间贯穿kernel到android上层,涉及节点处理,文件系统操作,

所以对同步设备节点数据sys_sync就有需求,可以看出来,android4.0在对sys_sync的调用修改上,也是考虑到按键进入待机的隐藏问题。

那到底做了哪些修改呢?


suspend_sys_sync_queue有三个地方在调用

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值