android图像刷新方法

1) 在JAVA层刷新:

        如果要在thread里刷新, 要使用postInvalidate,   如果在timer里刷新, 可以通过Handler Message来刷新。  具体刷新要重写onDraw函数。 


2) 在JNI里刷新:

 将SurfaceHolder指针传递给NDK(JNI层用VideoDriver_register注册)。 具体刷新用以下方法:

void * pbits;

VideoDriver_getPixels(width, height, &pbits);

memcpy(pbits, rgbBuffer, width*height*2);//rgbBuffer是rgb565格式的数据

VideoDriver_updateSurface();


 具体采用哪种刷新方法, 可根据速度的要求, 以及程序架构复杂性的角度来考虑。  如果对播放速度要求不高,可在java层刷新,平台移植性会好一些。



你可能感兴趣的:(java,thread,android,timer,jni,平台)