androidinit进程学习-创新互联
前言
创新互联于2013年创立,是专业互联网技术服务公司,拥有项目成都网站建设、网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元惠安做网站,已为上家服务,为惠安各地企业和个人服务,联系电话:18980820575小生是做android系统的,结合自己的工作与看的相关资料,留下如下感悟。愿与诸君分享交流,以求共同进步。不当之处望各位看官在留言中指正。
init进程总体说明
首先我们带着两个问题来看本节:init进程是个什么玩意儿?它的主要作用是什么?
android系统中的init进程是从原生linux系统中的init进程中继承过来的。绝大部份功能保持一致,但也有些许差异,它们之前的差异会在下面的内容中详细叙述。如果非要给android系统的init进程一个类似定义的东西的话,我的理解是:
init进程是由linux内核启动的第一个用户空间的程序,主要负责系统运行环境初始化与子进程管理等相关工作。
android系统中的init进程主要负责以下五种任务:
1、读取分析执行init.rc和init.{hardversion}.rc等相关初始化脚本。(与linux中init进程的主要区别点)
2、生成设备驱动节点。
3、处理子进程相关消息。
4、初始化属性服务。
5、显示开机logo
各功能详细说明
待续。。。
工作修改实例
工作中修改init进程代码主要是为了增加以下功能:
因为我在做android盒子,所以需要增加一个自适应屏幕分辩率大小与logo大小并让logo居中显示的小功能。
实现思路如下:
1、修改后缀名为rle的logo文件格式,在其开头处加上描述该文件高度与宽度的8字节数据。
2、修改init源码中的logo.c文件,读取rle文件时探测是否为自定义格式。如果不是则按照以前的流程,如果是则读取logo图片的高宽用做后续使用。
3、读取当前显示fb的大小,并与logo图片的高宽一起计算得出图片绘制的起始位置与结束位置,其他的像素点则用宏定义的颜色进行绘制。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
网页题目:androidinit进程学习-创新互联
分享网址:http://scjbc.cn/article/hsdsc.html