Info Call to native methods

Description

List of all calls to methods using Java Native Interface to interact with native code (written in C/C++).

Recommendation

Data passed to NewStringUTF must be in Modified UTF-8 format

UTF-16 strings are not zero-terminated

Object references should never be compared using == or != in native code. When testing for object equality, the IsSameObject() function should be used instead of ==.

Technical details
  • Method com.facebook.imagepipeline.memory.NativeMemoryChunk->nativeAllocate((I)J)
  • Method com.facebook.imagepipeline.memory.NativeMemoryChunk->nativeCopyFromByteArray((J [B I I)V)
  • Method com.facebook.imagepipeline.memory.NativeMemoryChunk->nativeCopyToByteArray((J [B I I)V)
  • Method com.facebook.imagepipeline.memory.NativeMemoryChunk->nativeFree((J)V)
  • Method com.facebook.imagepipeline.memory.NativeMemoryChunk->nativeMemcpy((J J I)V)
  • Method com.facebook.imagepipeline.memory.NativeMemoryChunk->nativeReadByte((J)B)
  • Method com.facebook.imagepipeline.nativecode.Bitmaps->nativeCopyBitmap((Landroid/graphics/Bitmap; I Landroid/graphics/Bitmap; I I)V)
  • Method com.facebook.imagepipeline.nativecode.Bitmaps->nativeGetByteBuffer((Landroid/graphics/Bitmap; J J)Ljava/nio/ByteBuffer;)
  • Method com.facebook.imagepipeline.nativecode.Bitmaps->nativePinBitmap((Landroid/graphics/Bitmap;)V)
  • Method com.facebook.imagepipeline.nativecode.Bitmaps->nativeReleaseByteBuffer((Landroid/graphics/Bitmap;)V)
  • Method com.facebook.imagepipeline.nativecode.JpegTranscoder->nativeTranscodeJpeg((Ljava/io/InputStream; Ljava/io/OutputStream; I I I)V)
  • Method com.facebook.jni.Countable->dispose(()V)
  • Method com.facebook.jni.HybridData->resetNative(()V)
  • Method com.facebook.jni.NativeRunnable->run(()V)
  • Method com.facebook.jni.ThreadScopeSupport->runStdFunctionImpl((J)V)
  • Method com.facebook.react.bridge.NativeArray->toString(()Ljava/lang/String;)
  • Method com.facebook.react.bridge.NativeMap->toString(()Ljava/lang/String;)
  • Method com.facebook.react.bridge.queue.NativeRunnable->run(()V)
  • Method com.facebook.react.cxxbridge.ModuleRegistryHolder->initHybrid((Lcom/facebook/react/cxxbridge/CatalystInstanceImpl; Ljava/util/Collection; Ljava/util/Collection;)Lcom/facebook/jni/HybridData;)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeCalculateLayout((J)V)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeFree((J)V)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeGetIsTextNode((J)Z)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeHasNewLayout((J)Z)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeInsertChild((J J I)V)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeIsDirty((J)Z)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeLayoutGetDirection((J)I)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeLayoutGetHeight((J)F)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeLayoutGetLeft((J)F)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeLayoutGetTop((J)F)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeLayoutGetWidth((J)F)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeMarkDirty((J)V)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeMarkLayoutSeen((J)V)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeNew(()J)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeRemoveChild((J J)V)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeSetHasMeasureFunc((J Z)V)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeSetIsTextNode((J Z)V)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeStyleGetAlignContent((J)I)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeStyleGetAlignItems((J)I)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeStyleGetAlignSelf((J)I)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeStyleGetBorder((J I)F)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeStyleGetDirection((J)I)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeStyleGetFlex((J)F)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeStyleGetFlexBasis((J)F)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeStyleGetFlexDirection((J)I)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeStyleGetFlexGrow((J)F)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeStyleGetFlexShrink((J)F)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeStyleGetHeight((J)F)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeStyleGetJustifyContent((J)I)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeStyleGetMargin((J I)F)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeStyleGetMaxHeight((J)F)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeStyleGetMaxWidth((J)F)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeStyleGetMinHeight((J)F)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeStyleGetMinWidth((J)F)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeStyleGetOverflow((J)I)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeStyleGetPadding((J I)F)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeStyleGetPosition((J I)F)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeStyleGetPositionType((J)I)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeStyleGetWidth((J)F)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeStyleSetAlignContent((J I)V)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeStyleSetAlignItems((J I)V)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeStyleSetAlignSelf((J I)V)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeStyleSetBorder((J I F)V)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeStyleSetDirection((J I)V)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeStyleSetFlex((J F)V)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeStyleSetFlexBasis((J F)V)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeStyleSetFlexDirection((J I)V)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeStyleSetFlexGrow((J F)V)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeStyleSetFlexShrink((J F)V)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeStyleSetFlexWrap((J I)V)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeStyleSetHeight((J F)V)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeStyleSetJustifyContent((J I)V)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeStyleSetMargin((J I F)V)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeStyleSetMaxHeight((J F)V)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeStyleSetMaxWidth((J F)V)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeStyleSetMinHeight((J F)V)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeStyleSetMinWidth((J F)V)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeStyleSetOverflow((J I)V)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeStyleSetPadding((J I F)V)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeStyleSetPosition((J I F)V)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeStyleSetPositionType((J I)V)
  • Method com.facebook.csslayout.CSSNodeJNI->jni_CSSNodeStyleSetWidth((J F)V)
  • Method com.facebook.react.bridge.ReadableNativeArray->getArray((I)Lcom/facebook/react/bridge/ReadableNativeArray;)
  • Method com.facebook.react.bridge.ReadableNativeArray->getBoolean((I)Z)
  • Method com.facebook.react.bridge.ReadableNativeArray->getDouble((I)D)
  • Method com.facebook.react.bridge.ReadableNativeArray->getInt((I)I)
  • Method com.facebook.react.bridge.ReadableNativeArray->getMap((I)Lcom/facebook/react/bridge/ReadableNativeMap;)
  • Method com.facebook.react.bridge.ReadableNativeArray->getString((I)Ljava/lang/String;)
  • Method com.facebook.react.bridge.ReadableNativeArray->getType((I)Lcom/facebook/react/bridge/ReadableType;)
  • Method com.facebook.react.bridge.ReadableNativeArray->isNull((I)Z)
  • Method com.facebook.react.bridge.ReadableNativeArray->size(()I)
  • Method com.facebook.react.bridge.ReadableNativeMap$ReadableNativeMapKeySetIterator->initHybrid((Lcom/facebook/react/bridge/ReadableNativeMap;)Lcom/facebook/jni/HybridData;)
  • Method com.facebook.react.bridge.ReadableNativeMap$ReadableNativeMapKeySetIterator->hasNextKey(()Z)
  • Method com.facebook.react.bridge.ReadableNativeMap$ReadableNativeMapKeySetIterator->nextKey(()Ljava/lang/String;)
  • Method com.facebook.react.bridge.ReadableNativeMap->getArray((Ljava/lang/String;)Lcom/facebook/react/bridge/ReadableNativeArray;)
  • Method com.facebook.react.bridge.ReadableNativeMap->getBoolean((Ljava/lang/String;)Z)
  • Method com.facebook.react.bridge.ReadableNativeMap->getDouble((Ljava/lang/String;)D)
  • Method com.facebook.react.bridge.ReadableNativeMap->getInt((Ljava/lang/String;)I)
  • Method com.facebook.react.bridge.ReadableNativeMap->getMap((Ljava/lang/String;)Lcom/facebook/react/bridge/ReadableNativeMap;)
  • Method com.facebook.react.bridge.ReadableNativeMap->getString((Ljava/lang/String;)Ljava/lang/String;)
  • Method com.facebook.react.bridge.ReadableNativeMap->getType((Ljava/lang/String;)Lcom/facebook/react/bridge/ReadableType;)
  • Method com.facebook.react.bridge.ReadableNativeMap->hasKey((Ljava/lang/String;)Z)
  • Method com.facebook.react.bridge.ReadableNativeMap->isNull((Ljava/lang/String;)Z)
  • Method com.facebook.react.bridge.queue.NativeRunnableDeprecated->run(()V)
  • Method com.facebook.react.cxxbridge.CallbackImpl->nativeInvoke((Lcom/facebook/react/bridge/NativeArray;)V)
  • Method com.facebook.react.cxxbridge.CxxModuleWrapper$MethodWrapper->getType(()Ljava/lang/String;)
  • Method com.facebook.react.cxxbridge.CxxModuleWrapper$MethodWrapper->initHybrid(()Lcom/facebook/jni/HybridData;)
  • Method com.facebook.react.cxxbridge.CxxModuleWrapper$MethodWrapper->invoke((Lcom/facebook/react/bridge/CatalystInstance; Lcom/facebook/react/bridge/ExecutorToken; Lcom/facebook/react/bridge/ReadableNativeArray;)V)
  • Method com.facebook.react.cxxbridge.CxxModuleWrapper->initHybrid((Ljava/lang/String; Ljava/lang/String;)Lcom/facebook/jni/HybridData;)
  • Method com.facebook.react.cxxbridge.CxxModuleWrapper->getConstantsJson(()Ljava/lang/String;)
  • Method com.facebook.react.cxxbridge.CxxModuleWrapper->getMethods(()Ljava/util/Map;)
  • Method com.facebook.react.cxxbridge.CxxModuleWrapper->getName(()Ljava/lang/String;)
  • Method com.facebook.react.cxxbridge.JSCJavaScriptExecutor->initHybrid((Lcom/facebook/react/bridge/ReadableNativeArray;)Lcom/facebook/jni/HybridData;)
  • Method com.facebook.react.cxxbridge.ProxyJavaScriptExecutor->initHybrid((Lcom/facebook/react/bridge/JavaJSExecutor;)Lcom/facebook/jni/HybridData;)
  • Method com.facebook.react.bridge.WritableNativeArray->initHybrid(()Lcom/facebook/jni/HybridData;)
  • Method com.facebook.react.bridge.WritableNativeArray->pushNativeArray((Lcom/facebook/react/bridge/WritableNativeArray;)V)
  • Method com.facebook.react.bridge.WritableNativeArray->pushNativeMap((Lcom/facebook/react/bridge/WritableNativeMap;)V)
  • Method com.facebook.react.bridge.WritableNativeArray->pushBoolean((Z)V)
  • Method com.facebook.react.bridge.WritableNativeArray->pushDouble((D)V)
  • Method com.facebook.react.bridge.WritableNativeArray->pushInt((I)V)
  • Method com.facebook.react.bridge.WritableNativeArray->pushNull(()V)
  • Method com.facebook.react.bridge.WritableNativeArray->pushString((Ljava/lang/String;)V)
  • Method com.facebook.react.bridge.WritableNativeMap->initHybrid(()Lcom/facebook/jni/HybridData;)
  • Method com.facebook.react.bridge.WritableNativeMap->mergeNativeMap((Lcom/facebook/react/bridge/ReadableNativeMap;)V)
  • Method com.facebook.react.bridge.WritableNativeMap->putNativeArray((Ljava/lang/String; Lcom/facebook/react/bridge/WritableNativeArray;)V)
  • Method com.facebook.react.bridge.WritableNativeMap->putNativeMap((Ljava/lang/String; Lcom/facebook/react/bridge/WritableNativeMap;)V)
  • Method com.facebook.react.bridge.WritableNativeMap->putBoolean((Ljava/lang/String; Z)V)
  • Method com.facebook.react.bridge.WritableNativeMap->putDouble((Ljava/lang/String; D)V)
  • Method com.facebook.react.bridge.WritableNativeMap->putInt((Ljava/lang/String; I)V)
  • Method com.facebook.react.bridge.WritableNativeMap->putNull((Ljava/lang/String;)V)
  • Method com.facebook.react.bridge.WritableNativeMap->putString((Ljava/lang/String; Ljava/lang/String;)V)
  • Method com.facebook.react.cxxbridge.CatalystInstanceImpl->callJSCallback((Lcom/facebook/react/bridge/ExecutorToken; I Lcom/facebook/react/bridge/NativeArray;)V)
  • Method com.facebook.react.cxxbridge.CatalystInstanceImpl->callJSFunction((Lcom/facebook/react/bridge/ExecutorToken; Ljava/lang/String; Ljava/lang/String; Lcom/facebook/react/bridge/NativeArray;)V)
  • Method com.facebook.react.cxxbridge.CatalystInstanceImpl->getMainExecutorToken(()Lcom/facebook/react/bridge/ExecutorToken;)
  • Method com.facebook.react.cxxbridge.CatalystInstanceImpl->handleMemoryPressureCritical(()V)
  • Method com.facebook.react.cxxbridge.CatalystInstanceImpl->handleMemoryPressureModerate(()V)
  • Method com.facebook.react.cxxbridge.CatalystInstanceImpl->handleMemoryPressureUiHidden(()V)
  • Method com.facebook.react.cxxbridge.CatalystInstanceImpl->initHybrid(()Lcom/facebook/jni/HybridData;)
  • Method com.facebook.react.cxxbridge.CatalystInstanceImpl->initializeBridge((Lcom/facebook/react/cxxbridge/ReactCallback; Lcom/facebook/react/cxxbridge/JavaScriptExecutor; Lcom/facebook/react/bridge/queue/MessageQueueThread; Lcom/facebook/react/bridge/queue/MessageQueueThread; Lcom/facebook/react/cxxbridge/ModuleRegistryHolder;)V)
  • Method com.facebook.react.cxxbridge.CatalystInstanceImpl->loadScriptFromAssets((Landroid/content/res/AssetManager; Ljava/lang/String;)V)
  • Method com.facebook.react.cxxbridge.CatalystInstanceImpl->loadScriptFromFile((Ljava/lang/String; Ljava/lang/String;)V)
  • Method com.facebook.react.cxxbridge.CatalystInstanceImpl->loadScriptFromOptimizedBundle((Ljava/lang/String; Ljava/lang/String; I)V)
  • Method com.facebook.react.cxxbridge.CatalystInstanceImpl->setGlobalVariable((Ljava/lang/String; Ljava/lang/String;)V)
  • Method com.facebook.react.cxxbridge.CatalystInstanceImpl->startProfiler((Ljava/lang/String;)V)
  • Method com.facebook.react.cxxbridge.CatalystInstanceImpl->stopProfiler((Ljava/lang/String; Ljava/lang/String;)V)
  • Method com.facebook.react.cxxbridge.CatalystInstanceImpl->supportsProfiling(()Z)