Реагировать Viro, нажмите очень долго, чтобы выстрелить в релизе - PullRequest
1 голос
/ 15 марта 2019

В настоящее время я работаю над приложением Ar в реагировать нативно, версия 0.55, и реагировать-виро, версия, 2.12.0. Это приложение, похожее на покемонов, где на странице AR есть кликабельный элемент. Когда пользователь нажимает на него, он открывает модальное. В dev (вот полная команда: adb reverse tcp: 8081 tcp: 8081 &&act-native run-android --variant = Ardebug), он появляется сразу. Но когда мы связываем его в режиме релиза, для появления модального режима требуется не менее одной минуты.

Код для страницы:

 <ViroARScene onTrackingUpdated={this._onInitialized}>
        <ViroSpotLight
          innerAngle={5}
          outerAngle={45}
          direction={[0, -1, -0.2]}
          color="#ffffff"
          castsShadow={true}
          influenceBitMask={2}
          shadowMapSize={2048}
          shadowNearZ={2}
          shadowFarZ={5}
          shadowOpacity={0.7}
        />
        <ViroAmbientLight color="#ffffff" />
        <ViroNode ref={_setARNodeRef} onClick={this.tryGain}>
          <Viro3DObject
            position={[x, 0, z]}
            scale={[0.5, 0.5, 0.5]}
            rotation={[0, 0, 0]}
            source={require(`${ROOT_3D_ASSET}chest/coffre_bois_obj.obj`)}
            resources={[

              require(`${ROOT_3D_ASSET}chest/coffre_bois_mtl.mtl`),
              require(`${ROOT_3D_ASSET}chest/wood.jpg`),
              require(`${ROOT_3D_ASSET}chest/wood2.jpg`),
              require(`${ROOT_3D_ASSET}chest/gold.jpg`)
            ]}
            onLoadStart={this._onLoadStart}
            onLoadEnd={this._onLoadEnd}
            onError={this._onError}
            lightReceivingBitMask={3}
            shadowCastingBitMask={2}
            type="OBJ"
          />
        </ViroNode>
      </ViroARScene>

и функция для события щелчка -

tryGain = _ => {
    this.clickInterval=setInterval(() => (this.hasClicked = false), 500);// in case click, goes nowherer
    if (this.hasClicked) {
      return;
    }

    handleTryGain.call(this, this.props.activeGainPoiId, this.props.isDemo);
    this.hasClicked = true;

  };

Это тот же код, поэтому я не уверен, почему так много различий. У кого-нибудь была такая же проблема?

спасибо

1 Ответ

0 голосов
/ 20 марта 2019

так что я разобрался с проблемой, глядя на журнал cat.Из-за этих подпорок onLoadStart, onLoadEnd && onError я выводил журналы ошибок, которые выходили за пределы приложения, вызывая задержку.Я исправил проблему, просто удалив их в Viro3DObject

<Viro3DObject ... same 
-> Deleted onLoadStart={this._onLoadStart} 
-> Deleted onLoadEnd={this._onLoadEnd} 
-> Deleted onError={this._onError} lightReceivingBitMask={3} shadowCastingBitMask={2} type="OBJ" />

Все еще есть ошибки, но это не влияет на приложение

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...