Android利用NDK实现C++开发(3)

目前使用的只能是ndk下的ndk-gdb,使用介绍略NDK实现的Android应用程序分析 代码分析

主要的源码文件为

android_native_app_glue.h

android_native_app_glue.c

位于$NDK_HOME\sources\android\native_app_glue

以下为摘录

Android利用NDK实现C++开发

以上两个源码文件的功能为

实现一个显存内存区的绘图内存,并实现各种窗口基本事件(关闭,退出,点击,坐标等)的处理函数,并实现了内存的多线程保护机制.

主activey即main.c

Android利用NDK实现C++开发

需开发人员实现处理事件的函数回调实现和消息循环体.

通过sample程序的源码来看,利用NDK实现的C++窗口应用程序具有以下特点

v 允许程序员直接操作显存绘图区,框架实现内存区的线程保护

v 框架实现主体消息的处理,程序员必须要实现自已的消息处理函数!

v 不能使用framework的各种自定义组件,但可以通过jni调用组件

v 必须依赖于android系统库功能(实现事件处理,与底层硬件的抽象隔离),即Android app framework

Android利用NDK实现C++开发

通过以上的命令下将android的ndk程序部署到android上,我们仍可以发现,ndk开发的UI应用程序仍然不算是纯的C++的本地代码,在某些层面仍需要与jni打交道,并且必须要靠manifest文件将其与anroid系统连接起来!

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwzwsz.html