How can you memory manage unmanaged code?
- Unmanaged code refers to the components which are not a part of the CLR (Common Language Runtime) and which cannot be maintained by the Garbage Collector.
- It is the responsibility of the developer to ensure that the unmanaged code is released once they are no longer required.
- Developers can use structures such as try-finally block to instantiate and release such resources irrespective of the result (success or exception).
- Developers can also wrap such components inside a using block and add the code to release resources inside the Dispose method which is called immediately after the using block execution is complete.
- Finally, they can also use Object.Finalize to place the code to release resources when the object is memory is being released.
Posted May 14, 2021