Giter Club home page Giter Club logo

Comments (3)

matlabbe avatar matlabbe commented on July 24, 2024

Unless there is a memory leak, the memory should be reclaimed when starting a new scan. However if on iOS it is like on unix system, the RAM may appear not released though it is. For example, if the second scan is smaller than the first one, the memory usage may remain at 1000 after mapping.

from rtabmap.

Peach82 avatar Peach82 commented on July 24, 2024

Thank You for the reply.
I tried to run the application in Xcode Instruments, and when I pop the scan view controller from the navigation stack I have 9 memory leaks. This is the leaks output, don't know if can be of any help

Leaked Object	Count	Address	Size	Responsible Library	Responsible Frame
Malloc 64 Bytes		2	< multiple >	128 Bytes	RTABMapApp	rtabmap::Memory::Memory(std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>> const&)
Malloc 32 Bytes		2	< multiple >	64 Bytes	RTABMapApp	cv::aruco::DetectorParameters::create()
Malloc 32 Bytes		2	< multiple >	64 Bytes	RTABMapApp	rtabmap::Rtabmap::parseParameters(std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>> const&)
Malloc 32 Bytes		2	< multiple >	64 Bytes	RTABMapApp	cv::Ptr<cv::aruco::Dictionary> cv::makePtr<cv::aruco::Dictionary, cv::aruco::Dictionary>(cv::aruco::Dictionary const&)
Malloc 208 Bytes	2	< multiple >	416 Bytes	RTABMapApp	rtabmap::Rtabmap::parseParameters(std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>> const&)
Malloc 176 Bytes	2	< multiple >	352 Bytes	RTABMapApp	cv::aruco::DetectorParameters::create()
Malloc 144 Bytes	2	< multiple >	288 Bytes	RTABMapApp	void std::__1::vector<double, std::__1::allocator<double>>::__assign_with_size[abi:ue170006]<double*, double*>(double*, double*, long)
Malloc 128 Bytes	2	< multiple >	256 Bytes	RTABMapApp	rtabmap::Optimizer::create(rtabmap::Optimizer::Type, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>> const&)
Malloc 112 Bytes	2	< multiple >	224 Bytes	RTABMapApp	cv::Ptr<cv::aruco::Dictionary> cv::makePtr<cv::aruco::Dictionary, cv::aruco::Dictionary>(cv::aruco::Dictionary const&)

from rtabmap.

matlabbe avatar matlabbe commented on July 24, 2024

Total of bytes is around 1.5MB. Most of these functions are called only once, so maybe not the source of the huge memory usage you are seeing. A cv::Ptr is a smart pointer, not sure it shows up as a "leak".

from rtabmap.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.