碎碎念之Android中CPU架构arm-v8a、arm-v7a、x86

0 碎碎念

之前写博客都是为了复习基础知识,不过好像也忘得很快hh。
以后估计会写点感兴趣的自己碎碎念,缓解下emo的心情。(不像之前的博客,这些博客不准备复现也不贴代码所以不一定对, 仅供个人参考
现在秋招也基本上安卓和java基础选择性忘,操作系统和计网轮流忘,算法经常忘的状态。
更emo的是之前一直用kotlin刷题,然后好多公司笔试不让用。

1 前言

其实不是第一次见到CPU架构了,早在我最初接触Android的时候;就发现一些开源的AI模型部署Android的so库会提供arm-v8以及arm-v7架构两种。当时没太了解,自己虽然也尝试了并生成自己模型的so库但是也没过多关注。后来,在参与实际工作中发现发包时也会针对不同厂商的cpu架构发不同的包。

2 概述

目前主流应该是arm-v8,少数arm-v7;一些老机器或者老车机会x86或armeabi。我猜应用场景是根据定制平板、手机或车机来调整so库。

  • ABI – 应用程序二进制接口,定义应用和操作系统之间二进制接口规范。
  • ABI 兼容性 – 运行64位ARM(如v8)上可以运行32位ARM(v7)。
  • v8 64位,v7 、armeabi 32 位。

平常方案一般只适配arm-v7或v8,要么更兼容要么性能最佳。

3 使用

在这里插入图片描述
本来还想找以前编译so库的工程代码做个大小比较的,结果找不到了。
大概是需要模型的推理文件以及opencv辅助,在cmakelist.txt文件里面仿写相应的方法进行给java调用,好像是要cmake配置执行啥的。。但是印象里编译就行了,在build目录下可以找到相应生成的so库。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/412916.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JMeter Plugins之内网插件问题解决

JMeter Plugins之内网插件问题解决 背景 在我司内部进行JMeter工具进行性能脚本开发时,为了提高测试效率,我们会用到部分JMeter提供的插件,但是在我司内网的情况下,我们如果直接点击JMeter界面右上角的插件按钮 弹出来的JMeter…

Python-MNE-源空间和正模型07:修复BEM和头表面

有时在创建BEM模型时,由于可能出现的一系列问题(例如,表面之间的交叉),表面需要手动校正。在这里,我们将看到如何通过将表面导出到3D建模程序blender,编辑它们,并重新导入它们来实现这一点。我们还将给出一…

图形化编程系统学习10

项目需求: 点击绿旗,可以使用键盘控制小兔子在地图上移动,收集食物,但只能在黄色道路上移动。 食物碰到小兔子会变大后隐藏,并发出声音。 收集完所有食物,回到温暖的小窝 。 思路解析 1、添加背景和角色…

事半功倍:利用增强现实提高工作效率

人们通常认为增强现实只是游戏中的一个强大的功能,然而,研究表明,增强现实在提高工厂的效率和生产力方面也发挥着重要作用。不管增强现实、虚拟现实还是混合现实都能很好地模拟工厂的工作场景,这对于培训、运营、安全和研发方面的…

OpenCV小练习:人脸检测

OpenCV自带人脸检测模型,拿来就能用。所以“人脸检测”这个任务对于OpenCV而言真是太简单了——感叹一下:OpenCV太强大了!相关的介绍文章在网上可以搜到很多,原本我觉得没必要再写一篇了。结果我在写练习代码的时候,还…

如何使用 Pytest 进行测试

Pytest 是一个强大的Python测试框架,支持简单单元测试和复杂的功能测试。它具有灵活的断言表达式、支持参数化测试、强大的插件生态系统等特点。 二、环境搭建 1、安装 Pytest: pip install pytest安装完成后,可以通过命令行检查是否安装成…

Adobe DC 2022提示无法识别的错误 - 解决方案

Adobe DC 2022提示无法识别的错误 - 解决方案 问题解决方案更改安装(推荐)重新安装(推荐)降级安装(不推荐) 问题 使用Adobe DC 2022合并图片创建PDF时,会提示无法识别的错误,这是因…

同步技术难点

在Java中,同步技术主要用于控制多个线程对共享资源的访问,以避免数据不一致和线程安全问题。然而,同步技术也带来了一些难点,主要包括以下几个方面: 死锁(Deadlock): 死锁是同步技术…

Python私教张大鹏FastAPI开源框架和项目第一次整理 20240830

去我的Github搜fastzdp开头的:https://github.com/zhangdapeng520?tabrepositories&qfastzdp&type&language&sort fastzdp_api:基于FastAPI二次开发的HTTP REST API 框架。目前刚开始开发,这里面主要记录了FastAPI的一些基础…

大一新生入学证件照采集,手机拍照轻松搞定收集

又到了一年一度大中专院校新生入学的时候了,在开学时很重要的一项工作就是新生照片采集。证件照采集是为了建立学生学籍档案、校园门禁系统登记、校园卡制发、大学四级英语考试报名等,往往要求全校新生使用统一的证件照尺寸、颜色背景,甚至是…

Access OpenAI (json) API from R

题意:“从 R 访问 OpenAI (JSON) API” 问题背景: I want to access the OpenAI API with the following curl command from R: “我想从 R 中使用以下 curl 命令访问 OpenAI API:” curl https://api.openai.com/v1/engines/davinci/comp…

视频结构化从入门到精通——行为分析类应用

行为分析类应用 1. 认识行为分析 监控/判断视频画面中目标的运动过程、携带属性等。从数据中自动识别、跟踪和理解人类或物体行为。 1. 车的行为分析应用 车辆行为分析主要用于监控和管理车辆的动态行为,广泛应用于智能交通、城市管理和安全监控。关键应用包括&…

操作系统:实验五内存管理实验

一、实验目的 1、了解操作系统动态分区存储管理过程和方法。 2、掌握动态分区存储管理的主要数据结构--空闲表区。 3、加深理解动态分区存储管理中内存的分配和回收。 4、掌握空闲区表中空闲区3种不同放置策略的基本思想和实现过程。 5、通过模拟程序实现动态分区存储管理…

如何通过WinRAR软件有效禁止RAR压缩包内文件的修改

RAR压缩包作为一种广泛使用的文件格式,凭借其高压缩比和强大的功能,成为了许多用户保存和传输文件的首选。然而,在某些情况下,我们可能希望确保RAR压缩包内的文件不被随意修改或删除,以维护文件的安全性和完整性。本文…

C++:list篇

前言: 观看C的list前需要对链表有一些了解,如C语言的链表结构。本片仅介绍list容器中常用的接口函数概念以及使用。 list的概念: 简而言之,C的list是一个双向带哨兵位的链表容器模板 list的构造: 1.list():默认构造 2.li…

关于自定义控件,头文件找不到问题的解决办法

在ui文件中使用控件提升的时候,突然发现ui_xxxx.h竟然报错了, 这在之前是没有碰到过,苦思过后认为是环境变量的问题,因为现在正在用的构建套件是 mingw 的,但在此之前我一直用的是msvc,并且环境变量的配置…

PDF文本指令解析与文本水印去除

上次我在《PDF批量加水印 与 去除水印实践》一文中完成了对图片水印和文字水印的去除。 链接:https://xxmdmst.blog.csdn.net/article/details/139483535 但是对于页面对象的内容对象是单层,不是数组的情况,无法去除水印。今天我们专门研究…

idea付费插件,SequenceDiagram有哪些优点

以下idea付费插件你们都用过哪些呢? SequenceDiagram插件是一种用于绘制时序图的工具。时序图是一种图形化的表示对象之间消息传递顺序的方法。 该插件可以在使用各种编程语言编写代码时,方便地绘制时序图,以帮助开发者更好地理解和描述系统…

<Rust>egui学习之小部件(七):如何在窗口中添加颜色选择器colorpicker部件?

前言 本专栏是关于Rust的GUI库egui的部件讲解及应用实例分析,主要讲解egui的源代码、部件属性、如何应用。 环境配置 系统:windows 平台:visual studio code 语言:rust 库:egui、eframe 概述 本文是本专栏的第七篇博…

IBM是中国IT界的黄埔军校

关注卢松松,会经常给你分享一些我的经验和观点。 我第一次听说IBM还是小的时候,当时很多人都说IBM是厉害,外号“蓝色巨人”,潜移默化我也知道IBM牛了。 而且当年我买的第一款笔记本电脑就是IBM的ThinkPad系列,花了6…