안드로이드

안드로이드 GeckoView 사용시 화면 번쩍일때

마리오64 2020. 1. 6. 11:22

모질라의 웹브라우저엔진인 게코뷰 사용시 화면 번쩍이는 현상이있었습니다.

멀티 프로세서 옵션을 끄고 GeckoView 에서 탭 전환 하기위해 다른GeckoSession으로 전환 할때 발생합니다.

private TabSession createSession() {
        TabSession session = mTabSessionManager.newSession(new GeckoSessionSettings.Builder()
                .suspendMediaWhenInactive(true)
                .useMultiprocess(true)
                .usePrivateMode(mUsePrivateBrowsing)
                .useTrackingProtection(mUseTrackingProtection)
                .viewportMode(mDesktopMode
                        ? GeckoSessionSettings.VIEWPORT_MODE_DESKTOP
                        : GeckoSessionSettings.VIEWPORT_MODE_MOBILE)
                .userAgentMode(mDesktopMode
                        ? GeckoSessionSettings.USER_AGENT_MODE_DESKTOP
                        : GeckoSessionSettings.USER_AGENT_MODE_MOBILE)
                .build());
        connectSession(session);

        return session;
    }

 

세션 생성시 멀티프로세스를 꺼놓으면 화면렌더링이 메인 액티비티에서 실행되서 번쩍이게 됩니다.

멀티프로세서 옵션을 켜야 GeckoView 의 자식프로세스에서 렌더링 처리를 하기때문에

메인 엑티비티는 번쩍이지 않게 됩니다.