官术网_书友最值得收藏!

Why do we need memory management in Objective-C?

It does not matter what programming language is being used; the question of memory management always persists. In general, it is a question of resource management that cannot be avoided because memory is always a limited resource.

The scripting languages and Java, where memory management is handled by the virtual machine or application (where it is hidden from the code), are not always effective enough. While it is easier for the programmer this way, it can have a negative impact on resources, since you don't have an absolute control of it and there are objects still "living" when we don't need them anymore, plus these "living" objects still occupy precious memory space, which can be used by other objects. Additionally, depending on what you ask, another opinion is that an automatic memory management is the only right way to go.

Such talks usually start discussions like "Which is the best programming language?" and" What is the best way of memory management?". Let's leave that meaningless business for blogs' and forums' "Holy-Wars". Every tool has it's use in the correct context and Objective-C memory management concept is quite efficient in terms of both time cost savings and resource saving.

The memory in Objective-C, is managed in a different way from some of the widespread languages such as C/C++, Java, or C#, which are typically taught in schools as it introduces new concepts such as object ownership. Memory management is crucial for devices that run on a limited amount of memory such as mobile phones, smart watches, and so on, since effective memory management will allow you to squeeze every ounce of performance needed to run efficiently on these small devices, where memory is scarce on these devices.

主站蜘蛛池模板: 平阳县| 肥乡县| 舒城县| 新乡县| 六安市| 且末县| 开江县| 津南区| 凤冈县| 普洱| 兴国县| 临湘市| 西宁市| 行唐县| 来宾市| 城口县| 吴桥县| 太康县| 镇坪县| 阜康市| 枣强县| 万源市| 诸暨市| 沙洋县| 育儿| 阿尔山市| 武平县| 桂阳县| 民权县| 镇沅| 理塘县| 石楼县| 安仁县| 正定县| 桐柏县| 西昌市| 循化| 松潘县| 行唐县| 高邑县| 句容市|