谁调用了 android::Surface::unlockAndPost

status_t Surface::unlockAndPost()
{
    ATRACE_NAME("Surface::unlockAndPost 0307");
    if (mLockedBuffer == nullptr) {
        ALOGE("Surface::unlockAndPost failed, no locked buffer");
        return INVALID_OPERATION;
    }

    int fd = -1;
    status_t err = mLockedBuffer->unlockAsync(&fd);
    ALOGE_IF(err, "failed unlocking buffer (%p)", mLockedBuffer->handle);

    err = queueBuffer(mLockedBuffer.get(), fd);
    ALOGE_IF(err, "queueBuffer (handle=%p) failed (%s)",
            mLockedBuffer->handle, strerror(-err));

    mPostedBuffer = mLockedBuffer;
    mLockedBuffer = nullptr;
    return err;
}

调用 queueBuffer 发送合成指令。

03-07 14:16:46.994  1375  1399 F system_server: runtime.cc:675]   native: #00 pc 000000000073d8d0  /apex/com.android.art/lib64/libartd.so (art::DumpNativeStack(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, int, BacktraceMap*, char const*, art::ArtMethod*, void*, bool)+128) (BuildId: 13a592a95199e89a6f85d4c4669fa8a4)
03-07 14:16:46.994  1375  1399 F system_server: runtime.cc:675]   native: #01 pc 0000000000888ca7  /apex/com.android.art/lib64/libartd.so (art::Thread::DumpStack(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, bool, BacktraceMap*, bool) const+375) (BuildId: 13a592a95199e89a6f85d4c4669fa8a4)
03-07 14:16:46.994  1375  1399 F system_server: runtime.cc:675]   native: #02 pc 00000000008aa147  /apex/com.android.art/lib64/libartd.so (art::DumpCheckpoint::Run(art::Thread*)+567) (BuildId: 13a592a95199e89a6f85d4c4669fa8a4)
03-07 14:16:46.994  1375  1399 F system_server: runtime.cc:675]   native: #03 pc 00000000008a3376  /apex/com.android.art/lib64/libartd.so (art::ThreadList::RunCheckpoint(art::Closure*, art::Closure*)+278) (BuildId: 13a592a95199e89a6f85d4c4669fa8a4)
03-07 14:16:46.994  1375  1399 F system_server: runtime.cc:675]   native: #04 pc 00000000008a2e2d  /apex/com.android.art/lib64/libartd.so (art::ThreadList::Dump(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, bool)+333) (BuildId: 13a592a95199e89a6f85d4c4669fa8a4)
03-07 14:16:46.994  1375  1399 F system_server: runtime.cc:675]   native: #05 pc 0000000000852a3c  /apex/com.android.art/lib64/libartd.so (art::AbortState::Dump(std::__1::basic_ostream<char, std::__1::char_traits<char> >&) const+172) (BuildId: 13a592a95199e89a6f85d4c4669fa8a4)
03-07 14:16:46.994  1375  1399 F system_server: runtime.cc:675]   native: #06 pc 000000000083d3e4  /apex/com.android.art/lib64/libartd.so (art::Runtime::Abort(char const*)+500) (BuildId: 13a592a95199e89a6f85d4c4669fa8a4)
03-07 14:16:46.994  1375  1399 F system_server: runtime.cc:675]   native: #07 pc 0000000000019cfc  /apex/com.android.art/lib64/libbase.so (android::base::SetAborter(std::__1::function<void (char const*)>&&)::$_3::__invoke(char const*)+60) (BuildId: 9335a3052c0ad43b3680057cf90b0afe)
03-07 14:16:46.994  1375  1399 F system_server: runtime.cc:675]   native: #08 pc 00000000000075c2  /system/lib64/liblog.so (__android_log_assert+370) (BuildId: 31ec9545051650161a78e056f9a402c7)
03-07 14:16:46.994  1375  1399 F system_server: runtime.cc:675]   native: #09 pc 00000000000fe7d7  /system/lib64/libgui.so (android::Surface::unlockAndPost()+23) (BuildId: 98214932ef6a1c0ce6e1c0aada43d2de)
03-07 14:16:46.994  1375  1399 F system_server: runtime.cc:675]   native: #10 pc 0000000000146485  /system/lib64/libandroid_runtime.so (android::nativeUnlockCanvasAndPost(_JNIEnv*, _jclass*, long, _jobject*)+165) (BuildId: abafea9ac995d3b868d3d61655a07d7e)
03-07 14:16:46.994  1375  1399 F system_server: runtime.cc:675]   at android.view.Surface.nativeUnlockCanvasAndPost(Native method)
03-07 14:16:46.994  1375  1399 F system_server: runtime.cc:675]   at android.view.Surface.unlockSwCanvasAndPost(Surface.java:497)
03-07 14:16:46.994  1375  1399 F system_server: runtime.cc:675]   at android.view.Surface.unlockCanvasAndPost(Surface.java:478)
03-07 14:16:46.994  1375  1399 F system_server: runtime.cc:675]   - locked <0x0f063d0e> (a java.lang.Object)
03-07 14:16:46.994  1375  1399 F system_server: runtime.cc:675]   at com.android.server.wm.StrictModeFlash.drawIfNeeded(StrictModeFlash.java:110)
03-07 14:16:46.994  1375  1399 F system_server: runtime.cc:675]   at com.android.server.wm.StrictModeFlash.setVisibility(StrictModeFlash.java:119)
03-07 14:16:46.994  1375  1399 F system_server: runtime.cc:675]   at com.android.server.wm.WindowManagerService.showStrictModeViolation(WindowManagerService.java:3970)
03-07 14:16:46.994  1375  1399 F system_server: runtime.cc:675]   - locked <0x0316732f> (a com.android.server.wm.WindowManagerGlobalLock)
03-07 14:16:46.994  1375  1399 F system_server: runtime.cc:675]   at com.android.server.wm.WindowManagerService.-$$Nest$mshowStrictModeViolation(unavailable:0)
03-07 14:16:46.994  1375  1399 F system_server: runtime.cc:675]   at com.android.server.wm.WindowManagerService$H.handleMessage(WindowManagerService.java:5518)
03-07 14:16:46.994  1375  1399 F system_server: runtime.cc:675]   at android.os.Handler.dispatchMessage(Handler.java:106)
03-07 14:16:46.994  1375  1399 F system_server: runtime.cc:675]   at android.os.Looper.loopOnce(Looper.java:201)
03-07 14:16:46.996  1375  1399 F system_server: runtime.cc:675]   at android.os.Looper.loop(Looper.java:288)
03-07 14:16:46.996  1375  1399 F system_server: runtime.cc:675]   at android.os.HandlerThread.run(HandlerThread.java:67)
03-07 14:16:46.996  1375  1399 F system_server: runtime.cc:675]   at com.android.server.ServiceThread.run(ServiceThread.java:44)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值