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

漳浦建设局网站更新wordpress如何去除页眉部分

漳浦建设局网站更新,wordpress如何去除页眉部分,icp备案 网站负责人,商城网站有哪些功能我一直觉得#xff0c;现代计算机不是一门科学#xff0c;起码快算不上一门理科科学。上上下下全是人造#xff0c;左左右右全是生意#xff0c;用管理学#xff0c;经济学去学计算机#xff0c;也许更看得懂很多问题。HAL就是一个典型例子。 传统Linux绕开了微软的霸权…我一直觉得现代计算机不是一门科学起码快算不上一门理科科学。上上下下全是人造左左右右全是生意用管理学经济学去学计算机也许更看得懂很多问题。HAL就是一个典型例子。 传统Linux绕开了微软的霸权但是又面临GPL要开源的尴尬。谷歌为了迎合硬件资本家封闭垄断发财的愿望所以搞了HAL这个概念。将原来在内核态的驱动移了大部分核心内容到用户态这样就可以封闭可以垄断赚钱。然后因为HAL这玩意只在安卓上有配合了安卓的硬件公司反过来又被谷歌绑架这样一环套一环吃钱。一开始用Java吸引广大的Java生态码农进场。现在又搞Kotlin想把码农套牢。搞这几出是真的只是科学吗当然不是归根结底大部分还是生意。 我对安卓接触不久有些理解不一定对大家用批判的眼光看就好。有什么错误还请指正。 一 安卓硬件接口的演化 传统Linux怎么调用硬件就是ko。。。几个函数搞定。Android复杂了很多所以整理一下。 在安卓中除了上面讲的HAL还有一个就是Framework这个就是app的framework要理解安卓驱动层这两点绕不开。为了适配framework安卓把硬件是作为服务service来使用。在Android中这种结构也进化了很多代。 1 首先是传统HALLegacy HAL 在内核8.0以前使用。用户态的so貌似保存在/system/lib64这个版本是直接读取硬件so比较原始暴力。 App-Service-AIDL-Server-JNI-HAL so-kernel driver 2 现代HALConventional HAL 使用Iibhardware来管理so同时下层的驱动使用一个单独的分区so全部集成到vender.img和system解绑。要找寻so通过libhardware这个中间层。编译时要提供一个Android.bp文件。 App-Service-AIDL-Server-JNI-Iibhardware-so(vender.img) 3 HIDL 在安卓8之后开始使用HIDL总的来说就是将HAL封装成服务完全就是rpc的玩法。 HIDL编译后会生成Android.bp这个有时间再看看。最后会有两个so一个so放在system分区一个impl.so放在vendor分区以此实现framework和驱动服务的分离。客户端使用前者服务端使用后者。服务端包含impl.so之后会生成一个可执行程序就可以作为一个service单独运行。客户端包含了so可以直接调用服务。 分为直通式和绑定式。有大神说直通式就是虽然使用HAL但还是在一个进程绑定式是使用HAL但是数据通过Binder转发上面说的应该就是绑定式。直通式和绑定式也都是HAL生成的代码中控制的。比如 extern C IXXX* HIDL_FETCH_IXXX(const char* name); AIDL和HIDL的中间就是安卓的framework。 App-AIDL-Service-HIDL-HAL Service-so(vender.img) 4 全AIDL 10内核开始。 App-AIDL-HAL Service-so(vender.img) 来自ASOP官网的图。 二 看一下AIDL和HIDL。 最新的HAL主要涉及到的主要是两个接口AIDL和HIDL。 首先是AIDLAndroid Interface definition language。看资料说是android中两个app交互的IPC方式。首先IPC有很多种管道域套接字message共享内存问题是谷歌为什么要搞出来一套新的呢 从一个AIDL的例子可以看到 // IMyRemoteService.aidl interface IMyRemoteService {int getValue();void setValue(int value); } 一边使用 private final IMyRemoteService.Stub mBinder new IMyRemoteService.Stub() 另一边使用 mRemoteService IMyRemoteService.Stub.asInterface(iBinder); 在接口中主要定义的还是函数也就是说比管道这些更上层更适合Java的调用。就算上层函数调用其实也很多方式比如COMsoaprpc都是干这事的。安卓应该还是用binder进行统一管理了吧毕竟是一个单独的服务。 HIDL 主要还是提供底层cpp驱动和上层java的通信。hal文件定义如下 // ILedService.hal package android.hardware.led;interface ILedService {int getLedState();void setLedState(int state); }; 它的C语法稍怪 #include android/hardware/led/1.0/ILedService.h #include hidl/LegacySupport.husing android::hardware::led::V1_0::ILedService; using android::hardware::Return; using android::hardware::Void;class LedService : public ILedService { public:LedService() {}Returnint32_t getLedState() override {return mLedState;}//略 };int main() {return android::hardware::configureRpcThreadpool(1, true) android::OK android::hardware::registerAsService(new LedService()) android::OK? 0: 1; } Java侧的倒是差不多。 在Binder的使用中Server端继承BnInterface, Client端继承BpInterface。我接触的工程中一边叫做BP侧那么应该就是app侧BN侧那么就是服务端了。 最后写完的service可以通过rc文件作为一个系统服务。 参考 针对 Android 进行开发  |  Android 开发者  |  Android Developers https://source.android.com/docs/core/architecture?hlzh-cn https://source.android.com/docs/core/architecture/aidl/aidl-hals?hlzh-cn AIDL for HALs实战_hidl会被aidl代替-CSDN博客 Android HIDL 介绍学习和实战应用-CSDN博客 AIDL for HALs实战_hidl会被aidl代替-CSDN博客 HIDL 原理及使用详解-CSDN博客 Android上层与驱动交互完整篇三HIDL服务_android.bp hidl_interface-CSDN博客 Android HIDL学习2 ---- HelloWorld - 简书
http://www.pierceye.com/news/185013/

相关文章:

  • 大竹网站建设泗阳城乡建设局网站
  • 山东省住房和城乡建设厅服务网站做网站的注意点
  • 网站排名优化软件江西网站备案要求
  • 桐柏县建设局网站邢台建设局网站
  • 网站域名变更怎么查英国做网站的人
  • 嘉兴公司的网站设计wordpress 送女友
  • 10个免费的黑科技网站电子元器件商城网站建设
  • 动画型网站做免费推广的平台
  • 购物网站怎么创建深圳地区5g微波网站建设计划
  • 安做省民改厅网站网站带支付模板
  • 做什么网站吸引人建设网站模板
  • 微信官网网站模板京东云网站建设
  • python 网站开发 前端利用vps做网站
  • 网站做下载功能南昌专业做网站的
  • 白山网站设计网站首页鲁大师
  • 网站怎样和首页做链接地址七星彩的网站怎么做的
  • 深圳h5模板建站wordpress 整合ucenter
  • 企业网站策划书下载google adsense
  • 安徽网站建设公司排名竞价托管就选微竞价
  • 笑话小网站模板html做移动网站快速排
  • c2c电子商务网站有哪些电商设计师和美工有什么区别
  • 长春电商网站建设价格低公司网站过期未续费会怎样
  • 农业综合管理网站建设做网站前期工作
  • 域名更换网站网站维护工作内容
  • 网站水印设置作教程长沙求职网招聘网
  • 八年级微机网站怎么做wordpress 链接转换
  • ppt做的模板下载网站有哪些内容wordpress 4.5.3中
  • 网站开发需求文档prd模板iis wordpress 404
  • 灰色链网站建设偃师建网站那家公司好
  • 文化网站前置审批网站运营系统