NEXUS 5棒棒糖5.1 SurfaceFlinger错误

时间:2015-04-28 02:36:55

标签: android nexus-5 surfaceflinger

你好吗?有一个问题。 nexus5 lollipop5.1的问题。 surfaceflinger有一个代码,用于响应ScreenshotClient更新中的设备屏幕信息。 代码如下所示。

unsigned int sw, sh, xsize, gsize, stride;
... ...
ScreenshotClient sc;

sp<IBinder> display = SurfaceComposerClient::getBuiltInDisplay(ISurfaceComposer::eDisplayIdMain);

if( sc.update(display,Rect(), sw,sh, false) != NO_ERROR) {
    ... ...

    sc.release();

    return 0;
}
stride = sc.getStride();

mapbase = sc.getPixels();
... ...

以上代码,在其他棒棒糖版本中运行正常。当然,相同版本的nexus7也能正常运行。 但是,nexus5的变化。我的代码引用,但继续代码循环是。而且因为你试图继续屏幕。首先我在nexus5中的代码运行正常。但是,当某个计数为时,更新不会在另一个屏幕下返回以返回错误。更多 ...!在完成我的代码完成后,重新运行,在它是另一个井之后,当涉及到一定数量时会出现相同的现象。如果你有能力知道这个?

对不起,英语不太好。

1 个答案:

答案 0 :(得分:0)

我已经解决了。 ScreenshotClient sc sp&lt; IBinder>应将display 声明为全局变量。如果声明了类,则会多次发生错误。 (例如。它在函数中声明要重复。)