earlysuspend[通俗易懂]

earlysuspend[通俗易懂]earlysuspend================ 头文件:linux/earlysuspend.h使用earlysuspend—————— 另外andorid还支持内核中的earlysuspend操作,因为kenerl此前的电源管理就是把几乎所有的设备 都拖入睡眠模式,但多数情况下有些设备还不需要睡眠。ealysuspen

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
early suspend

================

  头文件: linux/earlysuspend.h

使用early suspend

——————

  另外andorid还支持内核中的earlysuspend操作,因为kenerl此前的电源管理就是把几乎所有的设备

  都拖入睡眠模式,但多数情况下有些设备还不需要睡眠。ealysuspend就应运而生了,意思是提前睡眠,

  或者说先睡眠。earlysuspend 的结构体如下

  enum {


EARLY_SUSPEND_LEVEL_BLANK_SCREEN = 50,


EARLY_SUSPEND_LEVEL_STOP_DRAWING = 100,


EARLY_SUSPEND_LEVEL_DISABLE_FB = 150,


EARLY_SUSPEND_LEVEL_DISABLE_CPU = 200,

  };

  struct early_suspend {

  #ifdef CONFIG_HAS_EARLYSUSPEND


struct list_head link;


int level;


void (*suspend)(struct early_suspend *h);


void (*resume)(struct early_suspend *h);

  #endif

  };

  这里的enum主要定义的是earlysuspend执行的级别,也就是先后顺序级别越低的越先执行,这里主要

  设置了几个参考级别,如设置级别为(EARLY_SUSPEND_LEVEL_BLANK_SCREEN – 1) ,那么表示在

  屏幕显示空白之前执行。

  

  个人觉得和suspend的代码应该是没有什么区别的,除了以上对级别的设置以外。earlysuspend的

  设置比较简单,完全就是如下步骤

#ifdef CONFIG_HAS_EARLYSUSPEND

  struct early_suspend eary_suspend; //定义early_suspend结构体,一般包含在一个结构体中

#endif

  …

#ifdef CONFIG_HAS_EARLYSUSPEND

  early_suspend.suspend = my_early_suspend; //设置挂起函数

  early_suspend.suspend = my_early_resume; //设置恢复函数

  early_suspend.suspend = EARLY_SUSPEND_LEVEL_BLANK_SCREEN – 1; //设置级别

  register_early_suspend(&xxx->early_suspend);

#endif

  …

  虽然宏定义这些比较恶心,不过这样写可以很方便的裁剪early_suspend功能.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/192030.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux怎样重启命令,Linux重启命令介绍

    linux怎样重启命令,Linux重启命令介绍下面介绍在Linux操作系统中重启和关闭相关的命令:shutdown、reboot、init、halt、poweroff、systemctl,你可以根据需要来选择适合的Linux命令关闭或重新启动系统。其中shutdown、halt、poweroff、reboot命令是用来停机、重启或切断电源,systemctl命令管理systemd,是Linux系统和服务器的管理程序。使用…

    2022年10月17日
    4
  • python视频识别_视频人员行为识别(Action Recognition)

    python视频识别_视频人员行为识别(Action Recognition)一.提出背景目标:给定一段视频,通过分析,得到里面人员的动作行为。问题:可以定义为一个分类问题,通过对预定的样本进行分类训练,解决一个输入视频的多分类问题。这里提出的问题是简单的图片(视频)分类问题,该问题的前提条件是:场景目标为单人,并且占据图片比较大的比例,如下图所示:还有一类问题是基于行人检测,去估计行人的姿态和动作,暂时不在本篇讨论范围内。二.行为识别的发展和其他领域一样,我们还是先从…

    2022年6月3日
    35
  • 警告:为了安全请不要随意将ASP.Net的validateRequest=”false” .

    警告:为了安全请不要随意将ASP.Net的validateRequest=”false” .ASP.Net1.1后引入了对提交表单自动检查是否存在XSS(跨站脚本攻击)的能力。当用户试图用之类的输入影响页面返回结果的时候,ASP.Net的引擎会引发一个HttpRequestValidationExceptioin。默认情况下会返回如下文字的页面:ServerErrorin’/YourApplicationPath’ApplicationApot

    2022年6月5日
    29
  • 红模仿在说谁(评价红模仿)

    各位读者,知识无穷而人力有穷,所以,要么改需求,要么找专业人士,要么自己研究。大家可以点赞、收藏、关注、评论我啦、需要完整文件随时联系我或交流哟~!

    2022年4月12日
    52
  • pycharm py文件运行后停止按钮变成了灰色[通俗易懂]

    pycharm py文件运行后停止按钮变成了灰色[通俗易懂]这两天被这个问题折磨得要死,把pycharm卸载了还是没解决,后来终于在一篇博客中看见,然后终于解决了问题界面如下:1.每次运行后都会跳出一个pythonconsole,并且前面还会显示一大堆奇怪信息:importsys;print(‘Python%son%s’%(sys.version,sys.platform))sys.path.extend2.右上角…

    2022年8月26日
    7
  • Debug的使用方法

    Debug的使用方法Debug(学完Debug之后要求能够使用Debug查看程序的执行流程)1.1Debug概述Debug:是供程序员使用的程序调试工具,它可以用于查看程序的执行流程,也可也用于追踪程序执行过程来调试程序。1.2Debug操作流程Debug调试,又被称为断点调试,断点其实是一个标记,告诉我们从哪里开始查看。Debug操作流程:如何加断电 如何运行加了断点的程序 看哪里 点哪里 如何删除断点1.2.1如何加断点设置要设置断点的代码行,在行号的区域后面单击鼠标左键即可。

    2022年8月31日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号