简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
一、前言 当执行一个 Java 的 native 方法时,虚拟机是怎么知道该调用 so 中的哪个方法呢?这就需要用到注册的概念了,通过注册,将指定的 native 方法和 so 中对应的方法绑定起来(函数映射表),这样就能够找到相应的方法了。 注册分为 静态注册 和 动态注册 两种。默认的实现方式即静态注册。 二、静态注册1. 定义 通过 JNIEXPORT...
一、概念1. JavaVmJavaVM 是虚拟机在 JNI 层的代表,一个进程只有一个 JavaVM,所有的线程共用一个 JavaVM。2. JNIEnvJNIEnv 表示 Java 调用 native 语言的环境,是一个封装了几乎全部 JNI 方法的指针。JNIEnv 只在创建它的线程生效,不能跨线程传递,不同线程的 JNIEnv 彼此独立。native 环境中创建的线程...
收集一些在Android开发中比较常用的adb命令。一、安装和卸载 adb install <apk路径> : 安装apk到手机/虚拟机 adb uninstall <应用包名> : 卸载该包名的apk二、log相关 adb logcat : 抓取所有log,无任何过滤 adb logcat -c : 清除手机之前的l
一、简介OpenVINO™是英特尔推出的一个用于优化和部署AI推理的开源工具包。常用于 Inter 的集成显卡网络推理使用。官网地址:https://docs.openvino.ai二、下载下载地址:https://docs.openvino.ai/latest/openvino_docs_install_guides_installing_openvino_linux.html针对不同平台,在如
一、前言如果你还不了解 GitLab CI 的话,最好先参考一下这篇博客对 GitLab CI 的简介,链接:https://blog.csdn.net/afei__/article/details/82377382GitLab 8.0 之后的版本已经默认集成了 CI,所以我们只需要安装 CI 的 Runner 即可。本文以 Linux x86-64 系统为例,其它系统也可以参考官网...
一、简介使用 MediaCodec 对 yuv 数据进行编码,编码的格式为 H.264(AVC) 。使用 MediaMuxer 将视频track和音频track混合到 mp4 容器中,通常视频编码使用H.264(AVC)编码,音频编码使用AAC编码。二、流程分析(简要介绍一下流程,具体api的参数说明起来篇幅太大,不清楚的可以自己搜索一下)创建编码器并配置MediaFormat mediaForm
一、说明find 命令是一个很常用的命令,用于在指定路径下查找文件,相似的命令还有 which、whereis、locate 等。扩展:1. which 命令只会查找环境变量中的文件位置,例如:$ which find/usr/bin/find# find 命令所在路径2. locate 命令是在 mlocate 数据库中搜索。locate 与find 不同,f...
一、背景一张网络图片需要展示在页面上,通常需要开启一个线程去执行下载任务。然而当存在几十上百张图片的时候,每张图片都去开启一个独立的线程去进行下载任务,虽然可行但这并不是一个很好的做法,因为创建一个线程本身就是一个比较大的开销,其次一直创建新的线程,内存也会猛增。那么怎么做比较好呢?对,就是使用线程池来优化,通过重复利用线程对象,既可以避免创建新线程带来的开销问题,也可以通过控制池...
在中通过设定的宽高去修改view的宽高。@Override} else {} else {可以将相机的一些基础操作和实现都封装起来,并在CameraSurfaceView中完成相关操作。完整文件地址:// 封装相机的各种操作// 设置屏幕常亮@Override@Override// 将View的大小修改为和相机预览分辨率相同的比例@Override。
一、查看分支 git branch [-r | -a]:1.git branch查看本地所有分支2.git branch -r查看远程所有分支3.git branch -a查看本地和远程所有分支如图,一般当前本地分支前带有“*”号且为绿色,远程分支为红色 二、新建分支 git branch [-f] <branchname>:新建一个分支,但不切换。如图...