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

网站上做百度广告赚钱么html5加入wordpress

网站上做百度广告赚钱么,html5加入wordpress,苏州官网网站首页,外贸网站是用什么软件做的文章目录 Android 开机动画的启动过程BootAnimation(基于Android10.0.0-r41)1.开机动画的启动过程概述2.为什么设置了属性之后就会播放#xff1f; Android 开机动画的启动过程BootAnimation(基于Android10.0.0-r41) 1.开机动画的启动过程概述 下面就是BootAnimation的重要部… 文章目录 Android 开机动画的启动过程BootAnimation(基于Android10.0.0-r41)1.开机动画的启动过程概述2.为什么设置了属性之后就会播放 Android 开机动画的启动过程BootAnimation(基于Android10.0.0-r41) 1.开机动画的启动过程概述 下面就是BootAnimation的重要部分。 开机动画主要跟三个东西有关系 bootanimation surfaceflinger init 查看下Android.bp编译文件cc_binary就是我们编译出来的可执行文件 最终的输出路径是在 系统启动的第一个进程是initinit进程会根据init.rc配置启动surfaceflinger进程。就是下面这个.rc进程 但是此时的Bootanim.rc不会启动。是disabled。 一般一个进程启动了都会有一个对应的main方法。 路径frameworks/native/services/surfaceflinger int main(int, char**) {signal(SIGPIPE, SIG_IGN);hardware::configureRpcThreadpool(1 /* maxThreads */,false /* callerWillJoin */);startGraphicsAllocatorService();// When SF is launched in its own process, limit the number of// binder threads to 4.ProcessState::self()-setThreadPoolMaxThreadCount(4);// start the thread poolspProcessState ps(ProcessState::self());ps-startThreadPool();// instantiate surfaceflinger//创建对象spSurfaceFlinger flinger surfaceflinger::createSurfaceFlinger();setpriority(PRIO_PROCESS, 0, PRIORITY_URGENT_DISPLAY);set_sched_policy(0, SP_FOREGROUND);// Put most SurfaceFlinger threads in the system-background cpuset// Keeps us from unnecessarily using big cores// Do this after the binder thread pool initif (cpusets_enabled()) set_cpuset_policy(0, SP_SYSTEM);// initialize before clients can connect//执行init方法flinger-init();// publish surface flingerspIServiceManager sm(defaultServiceManager());sm-addService(String16(SurfaceFlinger::getServiceName()), flinger, false,IServiceManager::DUMP_FLAG_PRIORITY_CRITICAL | IServiceManager::DUMP_FLAG_PROTO);startDisplayService(); // dependency on SF getting registered abovestruct sched_param param {0};param.sched_priority 2;if (sched_setscheduler(0, SCHED_FIFO, param) ! 0) {ALOGE(Couldnt set SCHED_FIFO);}// run surface flinger in this thread//执行run方法flinger-run();return 0; } 首先进入init方法 开启一个线程Start()之后这个线程就运行起来了。 线程run起来 bootanim设置属性控制bootanim的一个服务要启动起来就是这里设置属性之后就会起来了就开始播放开机动画。 property_set(service.bootanim.exit, 0);// Start BootAnimation if not startedproperty_set(ctl.start, bootanim);2.为什么设置了属性之后就会播放 /system/core/init.cpp 启动属性服务 跨进程通信CreateSocket void StartPropertyService(Epoll* epoll) {selinux_callback cb;cb.func_audit SelinuxAuditCallback;selinux_set_callback(SELINUX_CB_AUDIT, cb);property_set(ro.property_service.version, 2);//获取fdproperty_set_fd CreateSocket(PROP_SERVICE_NAME, SOCK_STREAM | SOCK_CLOEXEC | SOCK_NONBLOCK,false, 0666, 0, 0, nullptr);if (property_set_fd -1) {PLOG(FATAL) start_property_service socket creation failed;}//监听fd句柄listen(property_set_fd, 8);if (auto result epoll-RegisterHandler(property_set_fd, handle_property_set_fd); !result) {PLOG(FATAL) result.error();} }回调方法handle_property_set_fd然后调用下面这个方法 然后进到HandleControlMessage此时我们发现这个方法不知道是哪个头文件引入进来的所以得搜索一下。 递归搜索当前目录以及子目录。 grep HandleControlMessage ./ -rn通过名字查找服务也就是前面设置的属性值bootanim 找到对应的map根据msg获取服务的状态是什么样子的然后根据name名字去找到对应设置的服务。 绘制图像需要依赖surfaceflinger来绘制所以开机动画是在surfaceflinger之后启动的。 init启动。surfaceflinger进程的init执行然后StartPropetySetThread线程的启动然后再通知init进程启动开机动画进程然后是bootanimation的main方法执行
http://www.hkea.cn/news/14504688/

相关文章:

  • 建设网站协议iis 网站301重定向
  • 建站资源免费聊天室网站开发
  • 淘宝网站是哪个公司做的科技布沙发好还是布艺沙发好
  • 网站模板广告去除公司网址备案能用多少网站
  • 网站登录密码忘记了怎么办网站代码如何优化
  • 基于阿里云的电商网站建设移动互联网开发研究方向
  • 织梦做有网站有后台 能下载备份所有代码文件么东台建设网站
  • 自己做的网站发布详细步骤做网站要在工商备案吗
  • 网站建设建设公司资质要求一家专门做特卖的网站手机版
  • 全国质量建设局特种作业网站用什么工具可以创建网页
  • 一个服务器如何建设多个网站网站建设公司华网天下北京
  • 上海博大园林建设发展有限公司网站工信部网站备案举报
  • 青岛网站建设哪家专业苏州有实力的软件开发公司
  • 网站性质wordpress所有文章页面
  • 成都营销型网站爱主题wordpress
  • 网站流媒体播放如何做网站没有做301的后果是什么
  • 备案 个人网站广州网站建设找哪家
  • 网站建设价格对比分析功能网站开发
  • 新零售网站建设阿里云服务器报价
  • 中山网站建设文化市场做宣传图片的网站
  • 建设游戏网站需要哪些设备谷多网站
  • 品牌网站建设968绩效管理网站开发
  • 诸城网站建设多少钱不用服务器怎么做网站
  • 怎样把网站上传到服务器上wordpress淘宝联盟模板下载
  • 做兼职写小说网站杭州室内设计公司
  • 网站默认模板广西住房城乡建设领域
  • 网站模板但没有后台如何做网站曲靖市网站建设
  • 网站做哪些比较有意思文网文网站建设
  • 中核工建设集团网站sem是什么品牌
  • 网站开发和沈阳seo专业培训