Files
react-native/ReactCommon/react/renderer/leakchecker/LeakChecker.h
T
Samuel Susla 118489f6e5 Make LeakChecker available on Android
Summary:
Changelog: [internal]

Extend LeakChecker so it is available on Android (or any other platform as it is completely in C++ now).

Reviewed By: JoshuaGross

Differential Revision: D28600243

fbshipit-source-id: c77a003e3ffc6171e61c998508c9f34f10bb65ca
2021-05-21 10:39:43 -07:00

40 lines
991 B
C++

/*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
#pragma once
#include <ReactCommon/RuntimeExecutor.h>
#include <react/renderer/core/ReactPrimitives.h>
#include <react/renderer/core/ShadowNodeFamily.h>
#include <react/renderer/leakchecker/WeakFamilyRegistry.h>
#include <vector>
namespace facebook {
namespace react {
using GarbageCollectionTrigger = std::function<void()>;
class LeakChecker final {
public:
LeakChecker(RuntimeExecutor const &runtimeExecutor);
void uiManagerDidCreateShadowNodeFamily(
ShadowNodeFamily::Shared const &shadowNodeFamily) const;
void stopSurface(SurfaceId surfaceId);
private:
void checkSurfaceForLeaks(SurfaceId surfaceId) const;
RuntimeExecutor const runtimeExecutor_{};
WeakFamilyRegistry registry_{};
SurfaceId previouslyStoppedSurface_;
};
} // namespace react
} // namespace facebook