在java中获取surfaceview,然后将native surface传递给jni,之后lock surface进行绘制。绘制部分代码是这样的:
lockSurface(....)
{
Surface::SurfaceInfo info;
Region dirtyRegion;
dirtyRegion.set(Rect(0x3FFF,0x3FFF));
mSurface->lock(&info,&diretyRegion,true);//mSurface为传递过来的native surface
.....
获得info.bits然后将图像数据memcpy到其中;
}
unlockSurface(..)
{
mSurface->unlockAndPost();
}
但是现在红色行,lock出错。ddms中错误为:
surface requtetBuffer returneda buffer with a null handle
getBufferLocked failed(Out of memeory)
dequeueBuffer failed(out of memeory)
unlockAndPost failed, no locked buffer
我是在Eclair源码下编译的,各位遇到过这种问题么,请指点迷津
------解决方案--------------------
你好,可以麻烦告诉我你的Q吗?交流下native surface的问题
------解决方案--------------------
错误信息的字面意思是说内存溢出了? 你画的什么呢
------解决方案--------------------
我关心的是 大小
------解决方案--------------------
native surface???
------解决方案--------------------
貌似是分辨率问题,不太懂,同求答案,你可以到一些专门的android技术论坛去看看,www.connectionwe.com,推荐一个