对于 android上的 voip及视频播放器类应用,为提高效率,把视频数据的渲染工作放在native层对提供性能有很大帮助,只需在java层创建一块surface,剩下的工作由native层处理,

无需转换为rgb格式到java层,画面控制仍然交给应用层。

大致过程:

java层创建surface,jni方式传给native层,native层在此surface上渲染

native层大致过程:

1. registerBuffers

2. postBuffer

3. unregisterBuffer


问题:native层获取Isurface没有权限,因为其是surface类的私有函数,需要修改framework 代码。

some good links :


http://matthiyosi.blogspot.com/2009/10/using-surface-in-android-native-code.html


http://matthiyosi.blogspot.com/2009/10/using-android-mediaplayer-framework-to.html

https://groups.google.com/forum/?fromgroups#!topic/android-developers/W3nVRXG4JD0

更多相关文章

  1. Rexsee API介绍:Android传感器系列之 - 磁场传感器Magnetic Field
  2. eclipse android 迁移到android studio3.21 升级过程中这样操作(
  3. 致Android开发者的Kotlin入门
  4. 自己动手做android热更新框架
  5. Android开发实践:JNI函数签名生成器
  6. Android(安卓)2.1 中 JNI 层 camera 的应用
  7. Android(安卓)5.0 Camera系统源码分析(1):CameraService启动流程
  8. Android中将xml布局文件转化为View树的过程分析(上)
  9. Android(安卓)Phone进程启动过程详解

随机推荐

  1. Android的Handler用法(定时)
  2. android 网络广播 类似QQ动态检查网络
  3. Monkey测试结果解析(二)
  4. android canvas的画线和画字的区别
  5. android -- notification使用(转)
  6. Android(安卓)API 中文(76)――AdapterView
  7. 32位机器Ubuntu系统编译android Froyo注
  8. Android 的第一个游戏
  9. android 文本框(textview)左右滑动
  10. Android之permission权限列表