- 博客(15)
- 资源 (13)
- 收藏
- 关注
原创 The flow of ActivityView trying to create the VirtualDisplayDevice
@ActivityView.java public ActivityView(Contextcontext, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); while (context instanceof ContextWrapper) {
2014-11-25 09:25:20 2364
原创 SurfaceTexture,SurfaceControl,SurfaceHolder
SurfaceTexture would holder the TextureviewSurfaceControl would hold
2014-11-24 18:45:41 1535
转载 Android系统Surface机制的SurfaceFlinger服务渲染应用程序UI的过程分析
在前面的一系列文章中,我们学习了Android应用程序与SurfaceFlinger服务的关系,以及SurfaceFlinger服务的启动过程、初始化硬件帧缓冲区的过程、线程模型。SurfaceFlinger服务所做的一切都是为了给Android应用程序提服务的,即为Android应用程序渲染它们的UI。在本文中,我们就详细分析SurfaceFlinger服务渲染Android应用程序UI的过程。
2014-11-19 14:46:50 1126
转载 Android4.2.2 SurfaceFlinger之图形缓存区申请与分配dequeueBuffer
接着前面的BootAnimation的启动过程,可以看到内部会涉及很多OpenGL ES的相关操作,OpenGL ES通过之前创建的具备有SurfaceTexture等的Surface类,来操作远端的SF来完成相关的图像渲染。这里主要涉及到ANativeWindow的2个核心回调函数,OpenGL ES在应用层的eglSwapBuffers就是调用了QueueBuffer和DequeueB
2014-11-18 16:07:38 1411
原创 JNI层线程回调Java函数关键点及示例
JNI是Java Native Interface的缩写,是Java平台的重要特性,使得Java代码可以方便地与C/C++代码编译生成的动态链接库进行交互。本文主要给出一份示例代码(工程文件见附件),描述如何在Android的JNI层开启一个线程,并在线程中回调Java层的函数。代码主要分为Java层(java代码)和JNI层(c语言代码),首先看看Java层的代码(Nativ
2014-11-14 18:09:59 5539
转载 Android中MediaMuxer和MediaCodec用例 - audio+video
在Android的多媒体类中,MediaMuxer和MediaCodec算是比较年轻的,它们是JB 4.1和JB 4.3才引入的。前者用于将音频和视频进行混合生成多媒体文件。缺点是目前只能支持一个audio track和一个video track,而且仅支持mp4输出。不过既然是新生事物,相信之后的版本应该会有大的改进。MediaCodec用于将音视频进行压缩编码,它有个比较牛X的地方是可以对Su
2014-11-11 18:25:06 2032 1
转载 android jni代码编写规则--整理总结
JNI层的代码其实比较简单,难点是要掌握c++和java数据类型的转换,明白java程序是运行在虚拟机中的,特别是函数并不是可以互相调用,jni中的内存概念并没有暴露给java虚拟机进程等。 一. java参数类型和jni本地参数类型对照 基本类型Java 类型 jni本地类型 描述 bool
2014-11-11 17:07:54 856
转载 如何在android的jni线程中实现回调
JNI回调是指在c/c++代码中调用java函数,当在c/c++的线程中执行回调函数时,会导致回调失败。其中一种在Android系统的解决方案是:把c/c++中所有线程的创建,由pthread_create函数替换为由Java层的创建线程的函数AndroidRuntime::createJavaThread。假设有c++函数:[cpp]
2014-11-11 16:37:18 1169
转载 Android中JNI的使用
Android中JNI编程的那些事儿首先说明,Android系统不允许一个纯粹使用C/C++的程序出现,它要求必须是通过Java代码嵌入Native C/C++——即通过JNI的方式来使用本地(Native)代码。因此JNI对Android底层开发人员非常重要。如何将.so文件打包到.APK让我们 先 从最简单的情况开始,假如已有一个JNI实现——libxxx.so文件,那么如何在AP
2014-11-11 16:34:19 807
转载 Android 4.4 Graphic系统详解(3) VSYNC的处理
回顾我们在上面一节中讲到了SurfaceFlinger创建过程中和VSync有关的一些处理,总结起来如下图:图中红色部分涉及到了VSync信号的在系统内的传输过程,我们在这一章详细的展开说明。向Eventhread注册一个事件的监听者——createEventConnection在SurfaceFlinger的init函数中,我们调用了mEventQueue.setEventThr
2014-11-10 15:42:00 3841
转载 Android 4.4 Graphic系统详解(2) VSYNC的生成
VSYNC 的概念VSYNC(Vertical Synchronization)是一个相当古老的概念,对于游戏玩家,它有一个更加大名鼎鼎的中文名字—-垂直同步。“垂直同步(vsync)”指的是显卡的输出帧数和屏幕的垂直刷新率相同,这完全是一个CRT显示器上的概念。其实无论是VSYNC还是垂直同步这个名字,因为LCD根本就没有垂直扫描的这种东西,因此这个名字本身已经没有意义。但是基于历史
2014-11-10 15:35:08 1348
转载 Android 4.4(KitKat)窗口管理子系统 - 体系框架
原文地址:http://blog.csdn.net/jinzhuojun/article/details/37737439窗口管理系统是Android中的主要子系统之一,它涉及到App中组件的管理,系统和应用窗口的管理和绘制等工作。由于其涉及模块众多,且与用户体验密切相关,所以它也是Android当中最为复杂的子系统之一。一个App从启动到主窗口显示出来,需要App,Activ
2014-11-10 15:23:34 1048
转载 Android 4.4(KitKat)中VSync信号的虚拟化
原文地址:http://blog.csdn.net/jinzhuojun/article/details/17293325 Android 4.1(Jelly Bean)引入了Vsync(Vertical Syncronization)用于渲染同步,使得App UI和SurfaceFlinger可以按硬件产生的VSync节奏来进行工作。关于VSync的介绍详见博文http://ww
2014-11-10 15:17:50 891
转载 Android中的GraphicBuffer同步机制-Fence
Fence是一种同步机制,在Android里主要用于图形系统中GraphicBuffer的同步。那它和已有同步机制相比有什么特点呢?它主要被用来处理跨硬件的情况,尤其是CPU,GPU和HWC之间的同步,另外它还可以用于多个时间点之间的同步。GPU编程和纯CPU编程一个很大的不同是它是异步的,也就是说当我们调用GL command返回时这条命令并不一定完成了,只是把这个命令放在本地的command
2014-11-10 15:13:46 1051
orbslam2 代码详细解读
2018-04-26
seeface 基于androidstudio2.2.2 的android 实现
2017-12-03
android上基于tess-two 的ocr 身份证识别系统
2017-10-17
基于Tesseract的身份证识别Android端应用
2017-10-14
opencv contrib master 包,编译opencv3.2.0 android,windows 都通过的
2017-09-17
opengl gpufilter for camera preview and image edit
2017-07-08
vs2015+opencv31+contrib+win7+64 SOP
2017-05-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人